Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If only ms would just make their software available cross platform.


Wasn't it just released for Android and iOS? (I get that that might not be what you meant...)


The iOS version is a WebKit wrapper by necessity (Apple mandates that all alternative browsers use the system-bundled WebKit for user experience reasons), and while it’s possible they’ve ported Edge’s engine to Android I’d bet that Edge for Android either wraps WebKit or Blink/Chromium. The primary value proposition for Edge on mobile is syncing of tabs/bookmarks/history/etc, not its engine.


> (Apple mandates that all alternative browsers use the system-bundled WebKit for user experience reasons)

So far, this is the only thing that really drives me bonkers about iOS and has for a long time. I'd love to be able to use an actual third-party browser with a third-party rendering engine, even if it meant having to install a particular signing certificate or some such. Doubly so for using browser-specific extensions. Who knows, maybe iOS 15?

(While I'm wishing for ponies, the ability to change OS-level default applications would be nice.)


I wish someone would just port Firefox mobile to iOS. You don't have to put it on the app store (which is impossible). Just zip up the xcode project, let me swap in my developer key, and run it on my phone. The protections against JIT and so on are enforced by policy, not by technology.

I understand it would be a lot of effort for little gain. But if more developers would offer their stuff as self-signable "xcode projects" (maybe even just a .dylib and some wrapper source), it would be really cool.


Gecko already runs on iOS, I just don't know what the exact build process is. The trouble is, a browser is much more than an engine, and why would people sink effort into an unreleasable product.


Besides the obvious benefits to Apple, I believe the reason behind this is because allowing JIT execution would open up a security risk.


Yes, because they would need to allow write-executable memory pages. Disallowing those closes the risk of executing non-verified code.


Yes, the Android-version is also just a Blink wrapper. It's almost impossible for Microsoft to port Trident/EdgeHTML to other operating systems, because it's so deeply integrated into Windows.


Way back when, there were versions of IE 4, 5, and 6 for non-Windows OSes such as HP-UX, AIX, Solaris, and Mac OS (Classic and X both). It is not unreasonable that they could do it again.


Note those releases were based on an entirely different codebase to the Windows version of IE.


Internet Explorer for Mac was a separate codebase from the Windows version.

The Unix workstation versions (HP-UX, AIX, etc.) were built with a commercial equivalent to Winelib: a library that implemented Win32 APIs on top of Unix and X11.

I have no idea how they managed to build the IE code on a compiler that wasn't MSVC.


When you say "entirely different" you mean they didn't even share the same rendering engine?


The sibling suggests that non-Mac ports shared the Trident rendering engine with IE/Win. IE/Mac used Tasman, which was totally different (and was the first implementation of many CSS 3 features); as far as I'm aware there was no code shared at all between IE/Win and IE/Mac.


Those were basically just independent pieces of software, and had their own set of features and bugs (IE5.5 on mac was notoriously buggy)


5.0 and 5.1 were pretty bad. 5.2 was surprisingly standards compliant for the time (apart from `clear` inheriting, that was painful). 5.5 was a Windows only version of Trident, never available on the Mac (the Mac’s rendering engine was Tasman).


> Apple mandates that all alternative browsers use the system-bundled WebKit for user experience reasons

Not entirely true: Every browser developer is free to use whatever engine they like on iOS. Mozilla could use Gecko, Google could use Blink. They just don’t do it, because what’s not allowed is JITs (because security), thus 3rd-party JS-engines would always be slow.

So the reason everybody uses WebKit on iOS is not that they are forbidden own engines, but only JITs, so Apples is faster.


I believe you're incorrect. First of all: https://developer.apple.com/app-store/review/guidelines/

2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.

The JIT thing was true, but a few years back, they lifted this restriction, see "4.7 HTML5 Games, Bots, etc." for its current incarnation which also says "your app must use WebKit and JavaScript Core to run third party software".


Would it be possible to use WebKit for JavaScript execution, but still do rendering in a different engine?


I don't think you could plug directly into the JS engine to allow it to interact with your DOM.


> The iOS version is a WebKit wrapper by necessity (Apple mandates that all alternative browsers use the system-bundled WebKit for user experience reasons)

Which is why viewport values like maximum-scale, minimum-scale, and user-scalable do not work on iOS10+, no matter the browser.


Android version uses Webkit as well




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: