back
178 comments
I find the negativity in this thread depressing.

The web stack (html/css/js/http) is one of the most impressive feats of invention by humanity. We have this one stack and toolkit that run on everything from a desktop computer down to a cheap (as little as 100$) mobile phone. It's free with no payments for access or deployment, and at the bottom end basic enough that a child can pick it up. But capable of building incredible professional experiences (see Figma or onShape, seriously they are incredible).

As a sole developer I can build something with a single code base for mobile (both web and installable), and desktop (again both web and installable). The breadth of tooling available is incredible.

The OP is about PWAbuilder, there are alternatives. I like the combination of Capacitor (from the Ionic Framework team) and Native Script. It lets you extent your installable version of the app with additional native capability, all while staying mostly in a JS environment.

The complaints about PWA being poor are, in my view, two fold. One, the support for them on iOS has be atrocious until recently, but also there are a lot of poorly written webapps. That is actually a testament to the accessibility of the platform. Look past that and you see what it is truly capable of.

We need to stop this silly gate keeping, it's frankly ridiculous.

Edit: since I started writing the negative posts have them voted down the page. Looking more positive now.

Edit 2: While I have your attention, if you care about PWAs and consumer choice of web engines on mobile, go support the OWA (Open Web Advocacy - https://open-web-advocacy.org/donate/). They are there to represent us and push for move choice and support. They are turning up and presenting the evidence needed to ensure the large players open up their platforms.

I think the negativity is well deserved because if it doesn't need device integration it doesn't need to be an app.

The device integration criterion includes achieving a full performance(be it for the UI immersiveness or processing speed).

PWA don't tick any of these, they are just an output of the dream to have universal codebase. This is a dream I share but it doesn't need to be an app in the App Store.

The only reason people make apps that don't need to be apps is to get another marketing channel through App Store distribution and another user reach channel through notifications.

HN loves React Native and Flutter but Ionic and Capacitor are really great.

I bootstrapped a Ionic project the other day and had something running right after without knowing anything about it some hours before, compiling as a pwa and native apps using their respective toolchain.

It felt like I was replacing Bootstrap components with Ionic's and was able to transfer all my Vue knowledge.

Also the docs are great nowadays, way less Angular centric than before.

PWABuilder is glorious. As a 1-man shop I certainly don't have time to develop 3+ versions of my app, but clients keep demanding mobile apps even though it's literally the same thing. The webapp runs great on a phone. Please... just bookmark it to your homescreen, it's fine.
> We need to stop this silly gate keeping

OK, perhaps we need to step back from discussing their capabilities and flaws in a technical sense, but we seriously do need to discuss the capabilities of the average user and how allowing PWAs to bypass the app store review process is likely to be harmful to them.

If any random webpage can get them to install something which has access to things like notification apis, location etc, we're in for a world (more) privacy invasions, scams and just people whose phones become unusable, beeping, message-laden messes.

Yes, there are problems with the app store model, but lets not pretend just bypassing it without a further thought about the impact is a great plan.

(And yes, I am aware this article is about a tool for including PWAs in app stores. This is great, if you want to do that, go for it!)

I totally understand why developers love PWAs. As a user, though, I very much dislike them and won't use them. Neither of us are wrong, we're both choosing the most appropriate tools for our use cases.
> The web stack (html/css/js/http) is one of the most impressive feats of invention by humanity.

Yes and no.

The "no" part comes from people trying to twist a system designed for displaying static text into an application platform. And as an application platform it sucks. It's one of the most inefficient, slow, resource hungry app platforms that humanity has ever devised.

As a free somewhat open cross-platform means for information exchange, it really is unparalled.

> incredible professional experiences (see Figma

Figma is anything but incredible. I have one Figma file that I always open. Every day or every couple of days. Every single time it loads up ~100 MB of God-knows-what and takes ~20 s before showing anything useful to me. Not to mention the added loading time if you don't have Chrome open.

So no, it is not "incredible". It is the slowest app I use. Doesn't put much confidence into me regarding the entire PWA system.

Why do you ignore wasm?
There will always be developers who don't understand that their time is their most valueable resource. They'll just waste hours on reinventing the wheel for every app they create just to save a KB of precious RAM.

But tbh, that's not my issue.

While this is nice, to me the whole promise of PWA is that developers can escape confusing App Store rules, long approval process, and the absurd 30% commissions.

So no, thank you. I don’t want back into the App Store.

The other purpose is discoverability. I doubt many people know that to install a PWA, you press the "share" button (lol) and then "add to home screen." But yes I have a few personal projects I've deliberately not put on any app stores.
Why not both? Making it available through both channels will help discoverability
> the whole promise of PWA is that developers can escape confusing App Store rules, long approval process

As a consumer, and perhaps more importantly as someone who is frequently unofficial tech support for other consumers, this is why I don't want PWA support or PWAs in generally getting any foothold on devices.

The number of notifications, icons, noises, ads, disturbances and general bullshit that an average user already has to put up with on a device is absurd. Can they be careful about what they install? In theory. Can they configure and down-regulate all these notifications? In theory. But they don't, and they won't.

Having something that appears to be able to bypass app store review is a developer wet dream but a user nightmare. Because they'll go to a website and press the buttons it tells them to, and now instead of it just being spammy bullshit that did pass the app store filter, it might be absolutely anything.

You might have honest intentions, but thousands won't, and users demonstrably can't handle it.

In my opinion PWAs don't need to be in app stores, but they need a MUCH better UX in all modern browsers - For example, I have installed the Spotify PWA in my Linux machine. I get a nice Spotify icon in my favourites toolbar and a great native-like user experience when I open it. I consider it completely separate app to (for example) Chrome browser which I have open at the same time. But if I weren't involved with web technologies day-to-day, I wouldn't have a clue that it was possible because my browser gives almost zero hints.
My windows start menu is full of PWAs.

Actually they are just regular websites and I guess most developers who created them never consider their website PWA. Many of those "PWA" websites were built before PWA term was invented.

They work very well in my opinion. Minimal UI and they are always up to date. I do not have to download or login to any app store to use them.

For average user finding this "Install this site as an app" button is a real UX issue.

Apple's App Store has a specific rule that excludes many PWAs from being approved, you may have a tough time convincing a reviewer that it should be allowed on the store https://developer.apple.com/app-store/review/guidelines/#min...
While this says "repackaged website", it's much less about the technology used to develop the app and more about the actual content of the app - it's just as easy to make a native app that violates this clause.
It shouldn't be too much of a problem, seeing as most music players, stock apps, and calculators could just as well be simple HTML pages.

I think this rule is supposed to guard against things like packaging amazon.com into an app wrapper rather than developing a mobile-first offline-capable web app. Actual PWAs should be fine.

If you use tools like this you run a high risk of having your app banned.

Google Play strongly enforce their policy about how an app cannot be something that duplicates the functionality of a website.

Example:

Years ago I wrote a simple html/js app, and published it to the Google Play store using Cordova. It was a completely self contained app and did not access the internet (although it required internet permissions to use the webview). After publishing the app, I reused much of that code and release the app as a simple website.

Google Play deleted my app because purely because the app had a similar version on a website - even the styles were slightly different between them! The reviewer ignored of my explanations and refused to reinstate my app, even after I deleted the web-version of the app.

This was a 5 star app with only positive reviews!

If I got my app deleted because it smelt like it might be a webview wrapper of a PWA, using a service that is a PWA wrapper sounds like the most risky thing ever!

Google actively encourages developers to list their PWA in the Play Store, and has articles on how to do it [1][2].

Source: worked on supporting this capability.

[1] https://developers.google.com/codelabs/pwa-in-play#0 [2] https://www.youtube.com/watch?v=ddbHp8tGBwQ

The tool is made by a team from Google (the Chrome Team). It should be fine.
The biggest issue to be addressed is monetization IMO. Without monetization there won't be much adoption and without much adoption there won't be much support.

I have a PWA (https://journalisticapp.com) published in the PlayStore as TWA (https://play.google.com/store/apps/details?id=com.journalist...) via bubblewrap. It has many users and people love it, many don't realize it is not a native app. But I struggle since a long time to find a good way to monetize it.

First of all, there is no good guidance about the topic besides some clips about the Digital Goods API and it only works for recent Chrome. How do deal with users that use a different browser or an older version? Is it ok to check if the API is available and if not use Stripe? No info about that... It can be pulled off, but UX will definitely be bad or worse.

Then, there is the problem with complex backend logic and accounting, I have to deal with two scenarios, did the person use Play Billing or Stripe to purchase? What if he used Play Billing and then wants to manage their subscription in the browser or other way around? It would be amazing if either Play Billing could also handle purchases on the web, or if Stripe could detect TWAs and automatically send 15-30% to Google for doing nothing.

Also, what about testing? How can I test my Digital Goods integration if it is only available within an Android app and not in my PWA? Am I supposed to publish an app that points to my dev server?

If Google was really serious about PWAs and Trusted Web Activities I think they should allow developers to use 3rd party payment systems (in TWAs only) until all of the issues are resolved and have solutions, instead of being like "ya we don't know either, you figure it out, but you can't use Stripe". As TWAs are only a miniscule fraction of TWAs in the PlayStore it won't even make a hint of a dent into Google's revenue, but it would allow developers to seriously pursue a PWA solution over a native one and therefore allow Google to see if it is viable and worth putting serious resources into.

FYI: Google think that signup email from you is a spam.
disclaimer 'iOS does not support PWAs natively and packaging PWAs for iOS is Experimental. We can not guarantee that your app will be accepted into Apple’s App Store.' - i also doubt the PWA push notifications on iOS would work on a webview.

otherwise, very cool however the app store market monopoly is a joke. So are most of the user ratings on such stores. The beauty of PWA's is that there is no appstore or an over looking body - the internet is free!

> i also doubt the PWA push notifications on iOS would work on a webview.

Fixed in iOS 16.4[1].

1. https://www.izooto.com/blog/ios-safari-push-notifications#:~....

Didn't Apple pretty much kill PWAs due to lack of/slow support in Safari?
1. They didn't. Because ask three people, and they will give you five answers on what exactly PWA support means (every time it's a different set of random APIs)

2. There's Android that holds 70% of world's market share and none of the imagined "killing" that Apple does. Unsurprisingly, there's still not a single mind-bending paradigm-shifting PWA that would show the world just how great PWAs is and just how exactly "Apple is killing PWAs"

Apple took a very long time to implement HTML5 standards in safari. I think it was 1-2years ago when i found a bug in their indexDb.get call.

been deploying native apps cross compiled from c# with PWA interfaces to app stores for years, so they are possible, u just got to work within the guidelines.

It's improved with some recent Changes e.g. notifications.
Google's support wasn't great either. Besides that, the PWA standards are unnecessarily complicated and tricky to implement correctly.
This is a different use case it seems as it wraps the PWA.
PWABuilder solves nothing. Technology is never the problem, it is the utterly incomprehensible bureaucracy of Google, Meta but especially Apple and Microsoft. One is supposed to become a Microsoft partner (1000 pages of incoherent BS) or buy Apple hardware. That is the real problem.
For me PWA aren’t apps and I will always protest their inclusion in any store as apps.
It would be useful to have them in some kind of directory where they can be rated by the users and to improve their discoverability.

But perhaps this directory should be run by an other entity than the official app store.

The first match on my search engine is https://www.findpwa.com/

Regular reminder that "web apps" are just apps written for the very opinionated and limited stack. In this stack instead of proper UI framework developers left with typesetting engine (HTML), weird set of global styling variables (CSS) and half-baked scripting language with no philosophy (JS). All this lavishly peppered with tons of layers of abstractions and hacks on top to make it more or less usable for modern UIs. Complexity of these layers is borderline insane, and more and more hacks are being added every year. On top of this, as a result of wild nature of non-existent distribution process on web, the app runs in a limited sandbox. That's also a reason why not just usability, but security and performance of web apps are so much worse than native apps.

Downvoting starts in 3..2..1..

We are in the process of converting our native apps (+10m daily users) to javascript apps. We did some extensive testing last year and our conclusion is that the current hardware (also 3 year old devices) are powerful enough to run these apps. User experience is identical in the way we build them. Full client side rendering it means. We find the eco system of mainly Android extremely bloated and complex. Developing in one code base with just minor platform specific differences is so much better. Things like styling the UI: Css is just king compared to both Android and iOS native solutions. Of course certain things remain native. Push notifications, auth logins, ads and some other minor things. I cant wait to see our apps filly webbased.
Protip: if you complain about being downvoted, you are guaranteed to get downvoted.
This might just be completely revolutionary for my company. We sell a white-label (their logo and name) application to companies that their customers can use. This made PWA's ideal since we can have both a website and an app that would be created from a single codebase.

The problem is that the companies insist on publishing it to app stores, despite the fact that it is a hell for us to maintain as well as being completely indifferent from the users perspective once it's installed.

Having this as an option almost completely solves the maintainability issues of "packaging" and re-releasing the site every time we want to deliver an update.

I've been rocking PWA and Blazor in the early days, collanon.app is my gem, but no money yet other than a donation from a Canadian ┐ ( ´ ー ` ) ┌
Ok, but what happens if your web app has a free and pro plan with a subscription funnel on it? There should be a way to remove the subscription option from the generated package, make an "App Stores" version of the app. App Stores will not accept the webapp version without getting a cut from any payments.
So it seems that PWA means progressive web application [1] and if my very cursory scan is correct it obviously has nothing to do with progressive loading.

[1]: https://en.m.wikipedia.org/wiki/Progressive_web_app

From the page you linked:

> Progressive web apps employ the progressive enhancement web development strategy.

It isn’t like progressive loading of images (low res first, then high res). Instead the concept focuses on content first and then progressively adding functionality/behavior on top of the content. Dedicated web apps make the progressive loading of behavior a bit fuzzier, especially when the entire point of the site is the behavior. But these PWAs are not necessarily single page apps, so that content can be indexable.

https://en.m.wikipedia.org/wiki/Progressive_enhancement

Sure, put PWAs in some online "app" store, but personally, if I am going to an App Store (be it iOS or Android), I want actual real platform apps, not cross-platform web apps.
The best thing about PWA that it does not have to be on any store at all.
how is this useful if google play and apple store does not even allow web apps(html js css) in their store?