This is easily my top complaint about iOS. It would be much less of a complaint if Apple would make use of the shiny silicon they added to their ARM chips and properly support VP8/9, Opus, WebM, etc. so that there are patent unencumbered codecs and formats that work across every browser.
Hardware APIs, such as: bluetooth, MIDI, NFC, ambient light, USB
A ton of media codecs. Apple is attached at the hip to the MPAA, and so they only implement standards that generate MPAA royalties such as MPEG and its descendants.
Web data storage is in pretty bad shape too. For a while WebSQL was totally broken in Safari, and they are years behind the state-of-the-art APIs.
> Hardware APIs, such as: bluetooth, MIDI, NFC, ambient light, USB
Firefox doesn't support them either, and like Safari considers them harmful. And for good reasons that Google (who are the sole authors of these Chrome only non-standards) completely ignores.
I have not found any "good reasons" in the usual issues you'd find to be honest. Many of those harmful reasons are dealt with and tbh where does it differ that much from normal apps? NFC especially. Also: if there would be any issues then try find solutions for that?
Webapps are already protected with the same privacy and security protocols the browser imposes on webpages. What can a native app possibly do that's such an egregious invasion of privacy that a webpage can't do? Filesystems are encapsulated, hardware apis require permission, and cameras now have a nice active indicator. What can anything possibly do anymore that hasn't been fixed in all of web2?
> Webapps are already protected with the same privacy and security protocols the browser imposes on webpages.
Yes. And Bluetooth/USB etc. pierce that sandbox and communicate to devices outside the browser.
And no, you can't "fix it" with a simple "oh hey this page wants to access a device".
Hint: we can't successfully ignore prevent people from phishing sites and scammers, but sure, let's give an untrusted execution environment full access to everything.
> What can a native app possibly do that's such an egregious invasion of privacy that a webpage can't do
Webpage doesn't have full access to file systems (and Chrome wants to give full access to file systems), or to USB/Bluetooth/etc. (and Chrome wants to give full access to that), and...
Once again. "Hey, we know that native apps are a nightmare for privacy and security, why would you oppose making the web more like native " isn't a good argument".
Also, hint: native apps exist beyond mobile.
Also, hint on filesystems: even though they are encapsulated, that encapsulation differs greatly between systems, and having, say, full access to cloud files is just as bad.
> Webapps are already protected with the same privacy and security protocols the browser imposes on webpages
You can disable commonly abused/exploited things like service workers and still use most websites just fine, while a webapp might depend on having that functionality enabled reducing your security when using websites and webapps.
> What can a native app possibly do that's such an egregious invasion of privacy that a webpage can't do?
Safari and Webkit definitely support WebM, but it’s disabled on iOS, making it a bit useless. Of course, it’s enabled on macOS, where Apple has to compete with other browser vendors. This leads me to believe the parent article is on the right track.
I’ve heard Opus is supported, but not in Mkv (WebM) or Vorbis containers, making it a bit pointless.
The fact that to make an iOS app you need an iOS device, a MacOS device and still have to pay Apple $100 to install software on your own phone really set me off.
Just wait until they tell you that you can't talk to your own customers and that you can't deploy until they give your code the pat down. Maybe they even arbitrarily hold you up and make you miss your marketing push, critical bugfix, or window to pitch.
Literally only one major player is lagging here.