
Google Play Store Now Open for Progressive Web Apps - jbuild
https://medium.com/@firt/google-play-store-now-open-for-progressive-web-apps-ec6f3c6ff3cc
======
osrec
One of the wonderful things about a PWA is that it is so freeing (no app store
gods to appease for approval etc etc). I'm a little afraid that putting PWAs
in an app store may actually reduce the flexibility they offer by restricting
what PWAs can and can't do. Then again, an app store may be a necessary to
allow PWAs to diffuse into mainstream usage.

Personally, I am looking forward to the day PWAs are considered on par with
native apps by the general populace. I think we're getting there in terms of
functionality and flexibility - I run
[https://usebx.com/app](https://usebx.com/app) which is a PWA, and my users
are pretty happy with the functionality it delivers on all platforms. It also
helped me launch with a smaller budget, since it's a single code base that
runs on desktop, mobile or tablet.

The one thing I will add is that building a high-quality, performant PWA is
significantly harder than building a native app - why? because you _really_
need to understand the workings of modern browsers to squeeze native like
performance, and unfortunately, in my experience, very few web developers have
that depth of understanding. I have been building web apps for 20 years (I
started young), but when I decided to build Bx as a PWA, I had to learn a lot
to achieve the quality I desired.

~~~
criddell
I don't understand the love that PWAs get around here. All things being equal,
as a user I'll chose a native app every time.

As a developer, I'd much rather be working in a native toolkit as well.
There's less to learn to get going and the foundations are more stable than
the browser and billion lines of javascript from 40 different parties.

I also think it's a lot harder to reason about security with a web app. I
might be able to satisfy myself that the app I load today isn't doing anything
nefarious, but you could sell your business and tomorrow I might be running a
significantly different app.

~~~
ksec
I don't like Web Apps, but there are a huge class of Apps that doesn't require
a Native App to work. Services Sector which already has their Web Platform
sorted out, and are only providing an "App" in the App Store. Paying for App
Development is expensive, when majority of the functions in these Apps are
exactly the same as online. Having PWA meant they could offer an "App" at a (
relatively speaking ) much lower cost.

Example, why would every Restaurant wants to have an Apps of its own?

That is of course assuming PWA for these kind of Apps work close to Native App
in performance and usability. Time will tell.

~~~
criddell
> Example, why would every Restaurant wants to have an Apps of its own?

Why would any restaurant have an app?

> close to Native App in performance and usability

Javascript in the browser will never be close to a native app as far as CPU,
battery, memory, and bandwidth utilization goes. I don't think they will ever
work as well with assistive technologies either.

------
int_19h
It's amusing that Microsoft is still the one embracing PWAs most - Win10 app
store allows to publish them directly (you have to upload a package, but all
that package contains is the URL for the actual app, and name and icon for the
store). But then there's also Bing PWA crawler which finds and adds existing
apps.

It's literally the reverse of early 00s, when Microsoft was entrenched with
rich desktop GUIs, and everybody else was hoping that web apps would be the
way out of that lock-in. And now iOS and Android are the rich UI lock-in...

~~~
palsecam
> you have to upload a package, but all that package contains is the URL for
> the actual app, and name and icon for the store

Shameless plug: you can use
[https://pwa2uwp.fragara.com/](https://pwa2uwp.fragara.com/) to create such a
package (an appx package), using nothing but your browser and curl.

------
75dvtwin
Will the developer need to give 30% of the progressive app price to Google (if
it is in the play store)?

sorry in advance, if this has already been mentioned somewhere.

~~~
dfabulich
Yes. The "Trusted Web Activities" (TWA) API referenced in this article is just
a convenient way to turn a web page into an Android Activity. (An Activity is
a screen in an Android app.)

They don't let you paste an URL into the Google Play Store and convert it to
APK automagically. You still have to install Android Studio, build your app as
an APK, and upload it.

You could do this before by coding up a full-screen WebView, but TWA is just
nicer in a number of ways.

If your app is a paid app, you'll pay Google 30% of that. TWA offers no
convenient way to do in-app purchases; if it did, you'd still have to pay
Google 30% for those IAPs.

~~~
ravenstine
> You still have to install Android Studio, build your app as an APK, and
> upload it.

:(

Not having to do that was what I was hoping for with stores allowing PWAs.
Maybe it at least means that the APK only needs to be built once? If it has to
be rebuilt for every release, I don't see what this offers that Cordova can't
do better.

~~~
int_19h
From the article:

"Is TWA a Hybrid framework, similar to Cordova?

No. With Cordova or other hybrid solutions, you are typically shipping your
web resources (HTML, JS, CSS, etc.) within your APK package. Also, the engine
is different and isolated from the users’ browser, so no session or cache
sharing.

With Trusted Web Activity you don’t need to package any resource file from
your PWA (only native components, in case you want them); all your resources
will be downloaded and updated on the fly from your Service Worker. Your PWA
will still be rendered with the installed Chrome version, sharing all storage,
cache, and sessions with the browser. Therefore, if your user has a session on
your website opened when the user installs the app from the Play Store, she
will still be logged in. The user is just installing a shortcut to Chrome
using a special mode."

~~~
pier25
So what's the point of the APK?

~~~
UncleMeat
The OS needs an APK to run it. Just opening your page in the browser won't let
you customize as much.

------
abrowne
> TWAs work only with Chrome today, but the API might be also cloned by other
> browsers, such as Samsung Internet, Edge or Firefox in the future.

It's too bad it's Chrome-only now. But very good that using another engine is
even _possible_.

------
thinkingemote
Can a user have as much control over a PWA as it's running in a browser
instance compared to loading the site in regular Firefox mobile?

In other words are PWA a way for people to write and run web apps but making
sure the user can't run adblockers?

~~~
pjmlp
Depends on the host OS.

On Windows 10, PWAs are just another way of doing UWP native apps, as they
replaced the former JavaScript language projection (WinJS) introduced in
Windows 8.

------
jameslk
PWAs along with Web Payments and WebAssembly seems like it will make big
changes to the way the web works. It's blurring the line with web and native
even further.

~~~
sridca
I'm pretty confident that this is Google's long-term strategy and why I think
chromeos will become popular in future.

~~~
pjmlp
Firstly it needs to move beyond an US centric market.

------
sandGorgon
There has been a production TWA in the Play Store for a while now -
[https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.apps.mapslite)

Works brilliantly.

~~~
quentindemetz
I couldn't figure out how to mute voice directions during navigation

------
jadbox
Is there a way for me to tell TWA to then tell Chrome to report itself
different in the meta data? There are services that I use that do not work
properly when the source identifies itself as a mobile browser. Currently with
Cordova, you have have it change the headers on all requests to report a
different browser OS.

------
tonetheman
This is cool but I tried yesterday to figure out what was going on in the
samples and it still super green.

It looks like you have to still write Android code to do this. There is a
sample that has no code in it ... but it is not documented.

Hopefully over time they will get the process worked out.

------
z3t4
It would make a lot of sense to use Node.JS as a backend service for your web
app, instead of a Java app. It's much easier for a web developer to use
JavaScript then to learn Java, or Objective C. The API would be implemented
with Node.JS modules.

------
burtonator
This is actually huge news. I'm really excited about this!

I'm the author of a document management and annotation platform named Polar:

[https://getpolarized.io/](https://getpolarized.io/)

I'm working on the web+mobile version built on Firebase.

The PWA should be straight forward but don't want to have to build another
mobile app for it.

With PWA this is going to be 100x easier.

Additionally, the Play Store is a major source of new users.

One of the things most independent app developers don't think about is
distribution.

Being in the Play Store means people have another chance to find your app!

~~~
lucasverra
im following your steps and waiting for web&mobile to getpolarized ! any ETA
to beta test ?

