Also formerly known as Web Applications but now made by Apple with the added features of less control from the developers, a 30% mandatory fee if you accept any payments of any kind and locked to just one platform.
Also formerly known as Web Applications but now made by Apple with the added features of less control from the developers, a 30% mandatory fee if you accept any payments of any kind and locked to just one platform.
I did not, as I'm a lot more bored at this point in time and also have a lot of more free time.
But I do feel the same about both of the platforms movement towards "instant apps" that could have been equally solved by making web apps work better on respective platforms, instead of trying to solve the same problem again.
The web ecosystem has been trying to solve this for almost a decade now and has made relatively little progress. There's no reason to believe Apple could suddenly solve it in a few months if they just cared a little harder.
Web components & shadow dom are approaching 10 years old and still have issues with framework & browser support. asm.js is 7 years old, yet the ideas birthed from it are still struggling. Effective parallelism is still largely nonexistent. RAM & CPU/GPU efficiency remain a bad joke, made worse by the entire world now running on battery power.
A huge number of people are working on making web apps more viable, including people at Apple. It's not from a lack of trying at this point. The foundations are just all terrible & wrong for being an app platform. That's never what it was built or designed to be, and retrofitting that without breaking compatibility is really really difficult. If it turns out the incremental delivery benefits of the web can be retrofitted to an existing app platform more easily than the web can be retrofitted to be an app platform then... well, why not? The cross-platform-ish nature of the web was (and is) a great dream, but why can't that dream be realized by SwiftUI instead? Or Flutter? Or whatever? Why must it be web alone that gets to be that thing?
No, they really could just solve it. Progressive web apps are so close to being useful. Apple just refuses to make them user-friendly to install. Just look at android for what's possible https://web.dev/progressive-web-apps/
PWAs have been pushed since 2015. 5 years of perpetually being "so close to being useful." And that's despite Google's heavy promotion of them, including building an entire OS around them.
Instant apps take the one advantage web apps have (you don't have to install them) and brings that to the native platform. I think that makes a ton of sense, vs "just fixing" something that people have been trying to fix for decades.
How often do you go to uber.com to call an uber? If you want to build a product people actually want to use, make it native.
And, even so, the Facebook app has many billions of downloads. Clearly some people prefer it.
But you're forgetting two major advantages of Web apps: They are cross platform und neither users nor publishers need any permissions from some oligopolist middleman.
Native cross platform toolkits like Qt are no more work but provide a much better user experience.
And I agree that the current state of the mobile platform monopolies is a shame. If you care about Android, I encourage you to publish to Fdroid.
You're exaggerating.
>Native cross platform toolkits like Qt are no more work but provide a much better user experience
Not in my experience, but the quality varies a lot between apps. I think it can be done well, but so can Web apps.
The major plus for desktop apps (but not mobile) is access to local data and to different remote data sources.
Given that this is an additional option for developers, this is pretty tenuous logic. You seem to be arguing against developers having this option by claiming that it restricts their options.
"and locked to just one platform"
I'm fairly sure making one of these apps doesn't suddenly restrict every other option. You can make Android and Web Apps and J2EE (if it still exists) to your hearts content!
This is actually a convenient conversation because I just spent thirty minutes thinking about how much of an absolute piece of shit the Steam app is, courtesy of all of the elements that are a thin wrapper around a web app. And this has pretty much always been the experience: we're all just waiting for the magic web app that's going to prove everyone wrong and light the path.
Still hasn't come.
But until then, I'd rather developers actually have options, including high performance, native, platform-suitable solutions. My only knee-jerk opposition to these Instant App style solutions (the Android version, not sure what the Apple one will be called) is the thought of a big, fat binary coming down just to view what you think is a web page...and then I remember how absolutely monstrous the overwhelming majority of web apps are now. Full native apps are absolute svelte in comparison.
Unfortunately, going by current trends… it will be a full native app wrapping a browser containing a web page trying to look like native UI.
PS/opinion/fluff: There is also the implementation detail of language. Swift/ObjC is significantly superior to JS.
Any "instant apps" like this is gonna involve running code from remote sources. Then if the code is JS or Swift doesn't really matter.
> Web applications are not native UI
That's true. But that's up to the company deciding over the operating system and the browser in the end. Apple could have easily expose ways for web developers to write native UIs in HTML, CSS and JS. In fact, browsers used to be "user agents" where the user (and effectively the operating system, but user had final say) decided the styling of the content, but then website CSS became a thing and websites starting getting more control and wanted unique looks instead. Judging by the usage of the web, it seemed to have worked out pretty fine.
> Moving away from web-ish experiences to native ones is a huge win in my book.
Native in this case means running on one platform. I would much rather focus on making something that works for a bigger part of the world, meaning it doesn't exclusively run on Apple hardware but Windows and Linux as well. The browsers are one way of achieving this. Would be great if everyone (mainly Apple, Microsoft and Google) could align themselves behind one platform and work together. But I guess I've been in isolation long enough to start dreaming impossible dreams.
But considering your PS/opinion/fluff, I'm wasting my time discussing with you...
Hope you're having a good time anyways and take care!
The OS is far more powerful, and allows for deeper integration and writing in far faster languages. The browser abstracts away the machine. Most JS writers today have no idea or understanding of the actual computer they are writing against. It's a sandbox for them, and it's the reason apps today bloat to hundreds of megabytes and burn CPU to do the most mundane thing. Less distance from the metal is better in my book.
> Native in this case means running on one platform. I would much rather focus on making something that works for a bigger part of the world.
Feels like a strawman / bad faith argument. As a user, I'd rather use one fast app on my device, I don't care if some guy on another platform can use this product. As an engineer, I want happy users, and if that means writing X clients, so be it.
So you want mediocre, resource hog, lowest-commmon-denominator apps? Because that's how you get mediocre, resource hog, lowest-commmon-denominator apps.
Easily?
As as far as running on one platform, I like native because my iPhone X Pro has a heck of a lot more capabilities than some generic back alley Shenzhen Android device. And multi platform necessarily requires developing for the lowest common denominator device.
And JavaScript isn’t the best language for everything, let’s stop pretending it is.
Do you not buy things online?
I no more want a web app on my phone than I want an Electron app on my computer.