Using PWA instead of iOS / Android app

Just asking so I may understand.

What would be the downside if I chose to share my app publicly as a PWA instead of as an actual iOS or Android app?

Are there performance or security differences?

Would it be any less functional?

In other words, why do I need to go the extra step of using the App Store? Some of my staff already use the PWA for testing purposes. I can’t see any difference between that and an actual app.

Again, just asking to learn.

1 Like

Google and Apple are starting, or have been starting to Crack down on apps that could simply be PWAs.

A PWA is favored over native apps when

  1. you do not need unsupported browser features, such as phone contacts, advanced sensors, biometrics, etc…
  2. you do not need native code. Native code runs faster than web code, if you have ever use Zoom on the web and Zoom on native, the performance difference is visible. If you are not writing a video game engine or something like that you don’t need to care. As you are building on Adalo, this point is eliminated, just added for completeness.
  3. you do not need the store to promote your product. There are far more websites that exist than apps in the app store. If you go in the store people can search for sleep and and you app might be on the short list. If you Google sleep aid then there is no way you rank above page 100. If you direct market your app, PWA is fine, if you need search engines to promote your app, the store is much smaller than the internet.
  4. native apps work better. I think reading the performance complaints on the forum we can eliminate this point as well.

So, at the end of the day on Adalo, if you don’t need biometric login and the likes, and your marketing strategy is not reliant on random people finding you, PWA is a much better option.

That’s great information. Very helpful.

What do you mean when you say Google and Apple are starting to “crack down”? Do PWAs violate some policy? And do they have any authority to regulate what I install on my phone?

What I mean by that is, let’s say you make a PWA and convert it to an app that adds no extra value over the PWA, the stores are starting to tell you to stop making it an app and publish as a PWA

Webviews: We don’t allow apps whose primary purpose is to provide a webview of a website, regardless of ownership, or to aggregate content that does not belong to the developer. To resolve this issue, please remove violating content and resubmit your app.

So the stores prefer you to build a PWA over an app, if a PWA will do the job.

Interesting and helpful. I hope you don’t mind that we continue this conversation for a bit.

“apps whose primary purpose is to provide a web view of website”. This sounds like many banking apps. They provide a modified view and functionality of their online website, but essentially nothing different.

As opposed to, for example, cash.app, which offers very little functionality on its website, but all functionality on its app.

I do have a website, but the content and functionality on my app will be significantly different, at least for a while.

I see that some apps, like Uber and Pinterest, are PWAs. Does this mean PWAs are mainstream and not, as I originally thought, somehow “less” than a “real” app?

We can keep this conversation going forever, no worries, I enjoy these types of discussions.

Funny you should mention banks, the last project I was a part of before founding PragmaFlow was https://play.google.com/store/apps/details?id=ca.bnc.android

Besides biometric login, everything could be done via the web/pwa.

PWA is becoming the new norm for apps that do not need an engine. So things that are not video games, conferencing apps, or heavy multi-threaded apps are all fine in PWA, with the exception of needing biometrics, phone contacts, iaps (arguable better in PWA because you can use anything, not 30% to Apple to make in-app purchases), and some other items. Someone else on the forum asked about App Badges for PWA. The ability to do this is only 2 years old, most of the PWA technologies that really make them work is just before the pandemic started. Offline support for PWAs is maybe 7 years depending on how you look at it, probably closer to 5.

All that to say, 10 years ago, if you said you were a javascript developer, real developers wouldn’t consider you one of them. It was almost an embarrassment to be a javascript developer. Now, it is my primary language for writing everything that does not need super performance (like high volume trading platforms and communication).

For the cash.app example, and your website vs your app is the wrong angle to look at. A website is used to inform, a web app is something people can use. Is there anything in cash.app that cannot be built using the Adalo previewer? If the answer is no, then it does not need to be a native app. If yes, well, that might be an Adalo limitation. PWAs support deep linking.

Final thought before passing the talking stick back to someone else, for those who remember, Netscape Navigator was released in December 1994, the internet and web browsers are about 30 years old. In those 30 years, computing and the internet has revolutionized itself time and time again getting bigger and faster.

PWAs are becoming the new norm, but all that might change in 2 years.

1 Like

Thanks. Last question:

The definition of a progressive web app seems to be a type of web page or website intended for use on any platform that uses a standards-compliant browser. And then I see references to which browsers support PWAs.

But when I add my Adalo PWA to my iOS Home Screen and launch it, it looks just like a native app, and doesn’t seem to be running in the browser.

Am I misunderstanding anything?

Note: I’m still doing this from the Adalo previewer’s share link. Once I’m ready to go live, is there something different I must do to become a true PWA, or is the thing I added to my Home Screen already a PWA?

Okay. This will either make everything clear, or more confusing. A PWA is a website that runs in a browser. The difference now, is that websites are WAAYYY more powerful than they used to be, and web browsers are the same. The technology you used in the 90’s was the Ford Model A, today is Tesla on steroids.

I am going to explain this using Android, not iOS because Android apps are Java so it will translate easier. For completeness, there are many other languages like Scala, Kotlin, etc… but we don’t want to muddy the waters.

Java apps on Android use what’s called the JVM which essentially means the Java code you write does not run on the processor, it runs through the JVM and the JVM runs on the processor. The JVM was (and is) extremely powerful so Java code runs really well.
So a native app runs Java on the JVM
Now PWAs run Javascript on the browser which then the browser runs on the processor.
So PWAs use website technology in the browser

A decade ago, Java was waayy more powerful than Javascript and the JVM was waayy more powerful than a browser. Today the gap is getting smaller all the time.

So websites and browsers now have the ability to operate on the same level (almost) as native code.

So your understanding is correct, BUT you underestimate what a website can do today.

1 Like

I get the gist of that, and it does make things more clear. Thanks so much.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.