4 ms·
I would support this if they didn't do the thing like banning original firefox on iOS. This was firefox's greatest moat, a complete browser with extension suppo
by gloryjulio 4y ago
I would support this if they didn't do the thing like banning original firefox on iOS. This was firefox's greatest moat, a complete browser with extension support
- codetrotter 4y agoThe reason Apple does not allow other browser engines is because JIT has historically been very prone to security vulnerabilities. That is why only Apple is allowed to make anything involving JIT on iOS. And that is why other browser engines, with their own JIT-powered JS interpreters are not allowed.
- jeroenhd 4y agoAnd Apple's JIT engine has been as prone to security vulnerabilities as any other, diminishing any theoretical benefits to the point they don't matter. Apple clearly doesn't want competing JIT engines because Safari can't compete with Chrome in many ways. I get the idea behind unifying the browsing experience, but blocking V8 and SpiderMonkey isn't doing the end user any favours. In fact, because Safari is tied to the OS and isn't part of a separate app like on Android, if you find a vulnerability in your browser you have to report it to Apple and wait for an iOS security release cycle. On all other platforms you just push out the patch and your users are secured in a day or two.
- codetrotter 4y ago> And Apple's JIT engine has been as prone to security vulnerabilities as any other, diminishing any theoretical benefits to the point they don't matter It matters because first-party (Apple) vulnerabilities can be fixed and rolled out with iOS updates. JIT vulnerabilities in third-party apps would leave those vulnerabilities up to the third-party developers to patch. And that is before we even consider the fact that Apple has shown itself resilient against pressure to introduce back doors in iOS. If third-parties were allowed to write their own JITs you can safely assume that those third-party developers will be pressured to implement intentional vulnerabilities in their apps. And some will fold to pressure. I am happy that Apple does this. I don’t understand why anyone has an issue with it. If you don’t like what Apple is doing, then don’t buy Apple products. Why should those of us who agree with Apple, and buy Apple products because we agree with them, suffer as a consequence of other people not agreeing with Apple?
- downWidOutaFite 4y agoDoubtful. More likely it's because they see an unrestricted web browser as a threat to their app store moat. Same reason they ban sideloading.
- circuit10 4y agoThen why aren't they allowed with the JIT disabled?
- codetrotter 4y agoBecause interpreting JS without JIT would drain the battery and make iOS look bad to its users who would not understand that the poor battery time was due to the third-party browser they are using.
- circuit10 4y agoNope, third party browsers used to be unable to use JIT even when using WebKit, and that was back when devices were slower. This meant there were jailbreak tweaks such as this one: http://cydia.saurik.com/package/net.joedj.nitrous/ http://cydia.saurik.com/package/net.joedj.nitrous/ > Nitro dramatically improves JavaScript performance in web-oriented applications like Chrome/Facebook/Twitter /AlienBlue/Dolphin/Mercury, typically making it 4x to 5x faster. They changed this in iOS 8, but not many people really noticed even with the slower devices from back then (at least I don't think they noticed that it had been slower) https://9to5mac.com/2014/06/03/ios-8-webkit-changes-finally-allow-all-apps-to-have-the-same-performance-as-safari/ https://9to5mac.com/2014/06/03/ios-8-webkit-changes-finally-... It's clearly because Apple wants control
- codetrotter 4y ago> that was back when devices were slower It was also back when websites relied less on JS. For every improvement that gets added to browsers, in executing JS faster, web developers will take that extra perf and spend it to do more. The result of that is that only the heavily optimised browsers will be able to deliver the experience that the people expect. A browser without JIT today, would be a no-go. It would be noticeably slower, and it would drain the battery faster.
- circuit10 4y agohttps://v8.dev/blog/jitless https://v8.dev/blog/jitless says that while some benckmarks can be 80% slower without a JIT, real world performance in the YouTube web app is more like 6% slower. To be fair that probably doesn't rely on that much JS, but it would be totally feasible to use a browser without a JIT even with modern web apps. Edge has a secure mode that disables the JIT. Of course, the proper solution would be to allow 3rd party apps to use JIT, but allowing 3rd party engines without JIT would definitely be better than nothing