Apple already tried that approach with the iPhone one. It failed because the technology wasn't mature, but there have been nothing but advances since then.
The web is a more flexible and portable platform, so the economic incentives will always be there. And while native toolkits are still based on 1970's lab research, the web as a platform benefits from mainstream usage by the whole world. At some point, the new tech will overcome and replace the old approach. The gap is getting smaller every day even if the old approach has decades of advantage, and all major tech providers are pushing for it.
Security and usability are inversely proportional and the browser needs that security more than anything else.
That being said, it's great to see the innovation in the web space. But it will always be limited to specific application domains and the standards move slowly
In fact if I had the opportunity to buy a webOS device today I would ditch Android in a hot minute...
If it's more convenient to Google and Apple, they'll push for it, and we can only adapt.
But don't expect developers to ask for it. As it happens with those things, each platform will have their own, incompatible toolkits, and programming for them will not be much different than native programming.
If WebAssembly does a good job of exposing features needed for high-performance code, it could become feasible to move everything to WebAssembly and ditch support for native code on both platforms.
Edit: I should clarify that for certain types of apps WebAssembly might be relevant but the discussion seemed to be out UI layer and I don't understand how WebAssembly fills a gap that a native API in JS could also provide along with the same challenges.
A good example is games. Some do manage to use Java, but it's mostly a hindrance; being able to compile languages with a C style ontology to a platform-independent and efficient VM would be very helpful here.
Is there any active project you can link to regarding this?
Is your prediction that companies will start compiling their UI toolkits for browsers?
If a site is plaintext and has minimal JS, it's usually fine on a mobile device.
But the moment there are interactive elements or menus or web fonts or whatever else, things are visibly broken, or they become broken once you start scrolling. Even relatively inoffensive websites with simple menubars have stuttering scrolling animation.
Any decent native app doesn't animate that poorly. I'm an iOS user because design and UX are clearly valued by (non-shovelware) iOS developers. Having buttons jump around the screen or some weird JS stealing scrolling momentum would be unacceptable if it were in an app, but I visit at least one popular website a day where that's one of the problems.
View source.
Standards.
Cross-platform.
But the article isn't talking about packaged web apps, it's talking about browsers, and has an interesting redefinition of that term.
They kinda have in 2 ways - as of iOS 9 or 10 your app can utilize login credentials from your web domain name if certain requirements are met, and there's touchID for instant login after the first authentication.
If you see an ad or pop-up article about an app, what are the chances you install it, even if it looks interesting?
I click on links more than I install apps because loading web pages is a lot faster than installing apps. The flip side is that I hardly ever return to those "interesting links," while I use my installed apps frequently.
I would re-evaluate that stance if I were you: http://www.wired.co.uk/article/xcode-apple-app-store-hack. Hundreds of apps injected with malware by a compromised version of Xcode made it through the App Store review process.
I think merged storage is either here in the latest version of android or coming which will hopefully let us stop worrying about storage again but many devices will sadly never see the update.
How is this fixed by a web app you have to remember the address for, or at best, remember where on your favorites you saved it?
Click install. Review and approve permissions. Wait for some ungodly amount of megabytes to download. Wait for installation. Then open. Then approve some new permissions. Splash screen. Woo, content! But I'm not "deep linked" to the place I need to be.
Or, for a website: I'm just there.
Also, I feel like after installing an app, it takes more time to get to the actual content, because every app has a few screens of "Welcome to Foo! Here's how you do stuff in here." Websites are pretty instant compared to that.
Open browser, create new tab or focus url, enter url
Open app store, search for app name, click on the one that seems correct, read reviews, click install, wait for installation to finish, open new app.
This of course is only valid for the trying a new application or website which hypothetically is 0.001% of your usage of an app.
It's simple, when you want to do X, you want to do X, you don't want to do a lot of setup work before you start doing X.
Ubiquity >>>>> UX.
Problem is, imo, that so much of the web assumes a mouse and keyboard. I keep running into "mobile" sites that are so crammed with links and other tap targets that i have no chance to hit the right one on first try with consistency.
Content is King
I just keep hearing posts about how the mobile web is so clearly superior to apps and it never tallies with the reality on the ground for me.
I still use Thunderbird.
Mobile is already maturing. By the time web technology is good enough to create a native-feeling experience, we will be on to the next runtime.
(Disclaimer: I do iOS consulting, so hugely biased)