The problem with PWAs is they will never gain parity with the functionality of native development.
Never? Why not? The problem with PWAs is they will never gain parity with the functionality of native development.
Never? Why not?How do you create a menu to select a wifi network from a PWA right now? Or a new driver for you graphic card? Or an equivalent to LittleSnitch?
You can't.
The only way it would be possible would be that browser, os vendors and standard commitees manage to formalize an API for every single OS behavior accross all major platforms, and do so every time something new appear on them.
This would require a level of resources and cooperation that simply doesn't exist. We already have a hard time cooperating of thing that accessing BT and USB which have been there forever.
You also cannot do those examples on native apps, they are usually only allowed by the OS itself.
Anything CRUD related can be easily done on modern browsers, games are one of the few exceptions as WebGL/WebGPU will never be a match to what Metal/DX12/Vulkan are capable of.
Still, plenty of fun can be had with Playstation 3 like graphics.
Well, that's not true.
Windows: https://docs.microsoft.com/en-us/windows/win32/nativewifi/na...
Apple OSes: https://developer.apple.com/documentation/devicemanagement/w...
Android: https://developer.android.com/reference/android/net/wifi/Wif...
And LittleSnitch is specifically an app made by a non-OS third-party that does exactly the things OP mentioned. One of the older app dev shops. https://www.obdev.at/products/littlesnitch/index.html
Not even true, if you want advanced features. Do you want sync over the local network? Nope, WebRTC cannot use Bonjour or Avahi to detect other peers without accessing the internet. Do you need your CRUD app to be able to accept parameters different configuration file granularity and from env vars? Forget about it, you don't have access to most of the FS, nor env vars. Do you need it to query a specialized database yet work offline (e.g: sig)? Shim over localStorage won't cut it. Do you need smart search, or completion? Better it not work with machine learning, cause as soon the network is down, you are on your own.
So you can do a CRUD in the sense of what microsoft access used to allow you to do. That's useful, but it's a far cry from what native can do.
Sure, but this is exactly where frameworks like Capacitor/Cordova can bridge the gap.
Need some widely used native functionality? There's probably already a Plugin for that. If not, you need to write your own.
It's still much less effort than maintaining a full native app. Especially if it's mostly a CRUD app with just a few native features.
It's about native vs a web app, in general.
An overwhelming majority of the native apps I've used on my phone need none of that, or similar OS level features.
They'd work fine as a PWAs.
None of them can now be pwa. Not event something as simple as the alarm clock because of the device going to sleep.
Some of them can be pwa but the experience is terrible on mobile: map apps and video apps are an example.
Even if we lived in a world where new features didn't have to be continually gimped and restricted in the name of tracking prevention and general security, there will never be any significant motion on PWAs so long as the Apple/Google duopoly exists.
Here, how to officialy create packages for the Android app store, https://developer.chrome.com/docs/android/trusted-web-activi...