| It’s wishful thinking. Apple is being used as a scapegoat for the web’s failings here. PWAs would be so successful if it weren’t for Apple! is the easy but wrong answer. It’s possible to deploy a PWA to Google Play so that it’s installed on Android just like a native Android app. If PWAs were as good as native apps, why would anybody build web + iOS + Android instead of just building web + iOS? Even if opening a PWA made an iPhone explode into flames, it would still be worth deploying the PWA to Google Play to eliminate Android development effort. But plenty of native Android apps are still being built every day. That’s not because of Apple. That’s because users prefer native. I am a huge fan of the architecture of the WWW. I think it’s the most successful API and platform in history for a reason. But there are a lot of reasons why people genuinely prefer native apps, and it doesn’t just boil down to mean old Apple refusing to support things or users being brainwashed. People still choose native over web when Apple is not a factor at all. Every single native Android app is a testament to that. So when people also choose native over web on iOS, why should we think that this is down to Apple and not for the same reasons they choose native over web on Android? It doesn’t help that the web platform veered off into web components either. When front-end developers were jumping on board React, Vue, Angular, etc., architecture astronauts working on the web platform spat out an unholy mess full of footguns. I prefer to work as close to the web platform as possible, so every so often I try again with web components before remembering how painful they are. The people working on web components should take a long hard look at why front-end developers keep choosing frameworks that either eschew web components altogether or abstract them so far away the user doesn’t have to think about them. Telling quote from the Svelte 5 announcement last week: > Equally, component composition is more awkward in Svelte 4 than it should be […] This is because in 2019 it seemed likely that web components would become the primary distribution mechanism for components, and we wanted to align with the platform. This was a mistake. — https://svelte.dev/blog/svelte-5-is-alive I really hope the web does better, but in order for it to do so we need to be more honest about its failings. If you are a front-end developer and you feel optimistic about the future of web development, I invite you to try writing something reasonably complex using web components instead of your normal framework. |