
Progressive Web Apps Will Replace Native Apps? - onig90
https://itnext.io/progressive-web-apps-will-replace-your-native-app-4427f2df6604
======
flipgimble
My day job is leading teams that build native and web versions of applications
for clients, so it’s strange how much I agree with the sentiment, except for
the world “replace”.

Steve Jobs’ original iPhone announcement gets brought up a lot. You don’t
release an entire development platform in a couple months as a course
correction. They were working on a native SDK before the first iPhone launch.
The talk about developing web apps as being the primary way to develop on
mobile was a bit of face saving and Jobs style misdirection since the SDK was
delayed.

Native apps will never go away, because mobile platform owners can’t wait
years until their hardware features are accessible through standardized web
interfaces.

That said I agree that too many mobile apps out there should have been made as
a website. Also many digital experiences take just seconds or minutes of
interaction to be meaningful, so the overhead of App Store reviews and
publishing is total overkill. About 80% of apps I have on my phone are not
used daily and just taking up space.

However web apps historically have been painfully negligent in persisting user
data, and lost some trust among non technical users in my experience.

------
rado
No, thanks.

    
    
      Your PWA is built with HTML, CSS and JavaScript and will therefore be lightweight and fast.
    

Huh?

~~~
techaddict009
Exactly. What kind of logic is that!

~~~
netsharc
I suppose devs who programmed e.g. calendar or SMS apps for "dumb phones"
using assembly will scoff at today's devs using XCode/Android Studio with
"fancy languages".

Everything is developing to make development easier and easier, HTML, CSS and
JS is even easier, but I guess "it'll have more performance" is not the
correct argument.

~~~
leadingthenet
I (a web developer) do not find HTML/CSS/JS easier than native development
tbh. It's just a lack of familiarity that pushes people to use javascript for
absolutely everything (despite it being unsuitable for many of those tasks).

------
viraptor
> Well, the problem with this number is that these app users spend 77% of
> their time on only 3 apps and even 96% of that time on their 10 favorite
> apps. This means that it’s extremely difficult to get users to even use your
> app.

This seems like something a marketing person trying to push an idea would say.
There's an alternative explanation: users need just about 3 main things from
their device, with extra few filling the cracks (like a bank app that's used
once a week or so). If your metric to improve is "what percentage of the time
is someone using your app", that sounds just wrong.

------
mpweiher
"Developers now had to use a native SDK to build an app for the iPhone."

Patently untrue. They were finally _allowed_ to use native API, which they had
noisily demanded. And they were still allowed to use the "sweet solution" of
(progressive) web apps, an idea that took off like a lead balloon and whose
announcement was met with cold silence.

[https://www.macstories.net/stories/before-the-app-store-
the-...](https://www.macstories.net/stories/before-the-app-store-the-sweet-
solution-of-web-apps-and-developers-relentless-passion/)

And the alternative to native apps is not "web apps" (progressive or not),
it's web _sites_. When engagement is not high enough to warrant installing a
native app, it's not high enough for any app.

This isn't just theory either. For example, I worked on Wunderlist, and one of
the major factors for its success was native apps on all major platforms, a
point confirmed by the numbers and general feedback as well reiterated time
and time again when talking to individual users.

This despite having a web app that absolutely rocked.

And of course there are numerous other examples, for example Facebook going
back from a web app to a native one etc.

------
akmarinov
As predicted - RIP PWAs - [https://ar.al/2020/03/25/apple-just-killed-offline-
web-apps-...](https://ar.al/2020/03/25/apple-just-killed-offline-web-apps-
while-purporting-to-protect-your-privacy-why-thats-a-bad-thing-and-why-you-
should-care/)

------
lovetocode
I don’t think PWA will gain the traction needed to dominate the market. Native
development is still better for the most part. I also don’t believe Apple
wants anything to do with PWA and the only reason they added support in 10.3
was due to the fact that they were purging their AppStore of what was
effectively website apps. With Apple holding a significant share of the mobile
market I can’t see the reasons why you would want to invest in a PWA when
there is such a large user base with devices who don’t treat PWA as a first
class citizen.

------
skyzyx
Nope. I will always choose a native experience over a web experience. It's
just plain better,

~~~
dalore
Nope. I will always choose a web experience over a native. It's just plain
safer. Nothing to install on device. Less likely to have malware to track
everything.

Native is not just plain better.

~~~
jcelerier
in practice i'm pretty sure the web things i'm using are tracking me much more
than any of the native apps i've ever used. I remember the outcry whenever
someone would find out that $native app would send some weird packets over
wireshark - and even then, it's been 10 years since windows started asking for
permissions for software to open a socket so you can't really miss it if it
tracks you.

Also native apps don't have ads (afaik, never saw one except windows 10's
shell but then I use 99% libre software), and I can stay at version 1.5 of the
native app if it works better for me while this is impossible with web apps.

~~~
pjmlp
> Also native apps don't have ads (afaik, never saw one except windows 10's
> shell but then I use 99% libre software), and I can stay at version 1.5 of
> the native app if it works better for me while this is impossible with web
> apps.

Not much of an Android user, I gather.

By the way, recent versions of Android allow apps to self update.

~~~
jcelerier
> Not much of an Android user, I gather.

mobile apps outside of native Jolla ones make my blood boil faster that I can
turn those wretched devices off, so, yes, I try to limit my interactions with
those to a minimum.

~~~
pjmlp
Oh, an actual Jolla user!

~~~
jcelerier
Sadly my Jolla phone died down last year and my life is filled with pain since

------
pjc50
> Here’s a radical idea: Why not just optimise the mobile experience of your
> website?

This is the most sensible bit of the article. In many smaller cases it's not
really clear why the app needs to exist at all, and in some (Reddit, Instagram
etc) the app is pushed so hard that it deliberately degrades the web
experience.

~~~
ForHackernews
Isn't it because app installs bypass browser privacy sandboxing? That and some
marketing guy thinking that app users are "sticky" and browser visitors
aren't.

~~~
pjmlp
That certainly helps.

------
illuminati1911
"Before users can use your app you need to get them to download it first. So
you will need them to: \- go to the App Store/Play Store \- search for your
app \- click to install \- accept permissions \- wait for it to download In
each of these steps you can lose 20% of your potential users."

True.

Then again, when users have installed the app they need to:

1) Open it by a single tap

<Automatic face id authentication>

2) Enjoy

With a web app:

1) Open Browser

2) Type in the URL or...

2) Open settings/options menu of the browser

3) Select favorites

4) Scroll through the list until you find your web site

5) Open the website

6) Realize you are not authenticated

7) Tap login

8) enter username

9) WTF was the password

10) Close the browser

11) Open lastpass etc

<Automatic face id authentication>

12) Search for the website and open it in lastpass

13) Copy password

14) Close lastpass

15) Open browser again

16) Paste password

17) Tap login

18) Enjoy...?

Not to even mention high performance 1:1 user experience vs laggy and slowly
loading websites, safety of app store, privacy protection by "Sign in with
Apple" etc.

From developers' perspective:

Mobile apps:

\- High performance

\- 100% access to local SDKs, features, hardware (not exactly 100%, but only
limited by the OS)

\- Elegant, fast and safe languages with static typing such Swift and Kotlin

Web apps:

\- Slow

\- Limited access or no access

\- JS

Of course if you are developing software for media outlet etc. (app for
reading news) then it's probably not worth the effort to build native app vs
mobile first website.

~~~
pjmlp
Mobile apps:

\- High battery consumption and no way to control background services

\- 100% access to local user data

\- Fast and unsafe languages such as C and C++ (yes they also come in the SDK
tooling)

Web apps:

\- Fast with WebGL 2.0, and proper use of hardware accelerated CSS

\- Limited access is actually a positive

\- WebAssembly

~~~
illuminati1911
"High battery consumption and no way to control background services"

\- Doesn't apply to iOS apps and background services are controllable and
automatically shutdown unless there is specific purpose such as streaming
music. Apps abusing these rules will be rejected and removed from app store.

"\- 100% access to local user data"

\- Completely false. No access whatsoever unless explicitly granted by the
user.

"Fast and unsafe languages such as C and C++ (yes they also come in the SDK
tooling)"

True, but marginally used and personally I'll take fast and unsafe rather than
slow and unsafe.

"Fast with WebGL 2.0, and proper use of hardware accelerated CSS"

"WebAssembly"

\- Valid points. These really are positive developments in terms of web dev.
AFAIK WebGL would only give benefits in games and then you would be limited by
connection and the process resources of the browser app. WebAssembly is cool,
yet 99.999% of cases are basic React apps that don't get any benefits from
either of these.

"Limited access is actually a positive"

\- Not being able to make the app that you want to make as an web app can be
seen as positive I suppose. In native apps there is not direct access to
almost anything, but once permissions are given, apps can fully utilize the
OS/Hardware features.

~~~
pjmlp
85% of the world doesn't enjoy those iOS benefits, as per mobile OS market
share.

~~~
scarface74
Do you develop apps targeted at China, India, etc? Once you ignore developing
countries, the market share of iOS grows a lot higher. If you target North
America for instance, you’re close to 50%

~~~
pjmlp
Yeah, up to 28% in Europe, our main market.

------
talkingtab
As someone who drank the PWA koolaid, I think this understates one significant
problem: IOS. Apple, as the article points out is lagging behind. This is an
understatement to say the least. More accurately, Apple has an enormous amount
of money to lose if people stop using the App Store, so there are "anomalies"
in how things work which in the end made it impractical to build an equivalent
experience. I gave up and haven't worked on this for a while, but the problem
I ran into were from PWA's running in different sandbox from Safari. Have a
cookie or local storage? - they are different and can't communicate.

The bottom line is that if you need IOS support, then before you jump on this
bandwagon, make sure you can solve your problems of opening URLS (linking) and
authenticating users.

~~~
MobileVet
Apple is a huge weight against PWA, but it isn’t about money. Apple AppStore
revenue is an afterthought when compared to the rest of their top line
revenue.

It is about control and security. They would prefer to see every piece of code
you run on their device than let you visit some random site.

~~~
akmarinov
Exactly control.

Netflix, Spotify, YouTube and so many others would love to have an app that
lets them advertise their subscriptions without giving 30% to Apple.

Also having porn and gambling apps on the iPhone, even if it's not coming from
the Apple Store would be a big no-no for them.

------
ajdegol
PWAs have an impressive feature list, and the site he links to is a nice demo
of this.

The main arguments to move this way (which are rational) are 1. Competition on
app store (including installation funnel) and 2. 1 code base for all devices.

The kicker has always been responsiveness; perhaps this is a matter of
technology (or implementation). People expect apps to be extremely responsive
and it's important for the bigger players.

~~~
threeseed
If the arguments for moving to PWA are all about improving the developer
experience then as an end-user why should I care.

It just screams PhoneGap/Cordova 2.0 which equally had the same story.

~~~
ajdegol
Overcoming competition and the installation funnel is more of a
marketing/bizdev issue than development. Being able to navigate to a web page
and be using "the thing" is also a better experience of installation for the
end user.

But for the actual using of the app, we're in total agreement.

------
redhale
I think the arguments here (and in the article) are largely missing the truly
valuable point.

For __most __businesses (not necessarily for Facebook, or even other mass-
market consumer-facing companies), the decision of native vs. web is not
purely about responsiveness at the "10ms vs. 50ms" level of granularity. The
conversation is centered instead around ROI (return on investment), and thus
development/maintenance costs are very important.

Thus, the steady march of progress in the PWA space is awesome, and will
indeed lead to the decline of native mobile apps created in the corporate
space -- especially for internal and B2B use cases (again, not necessarily for
the Facebooks of the world).

------
akmarinov
No, they won't.

No way is Apple giving up their 30%, if they can help it.

~~~
tarkin2
And they control the web browser engines on iPhones. And keep those with fewer
capabilities than native apps. See the HTML audio recording API for an
example.

Apple have a massive financial incentive to ensure PWAs aren’t as good as
native apps. If people start seeing PWAs as better or as good as native apps,
say goodbye to the iPhone.

~~~
threeseed
MediaRecorder API is in Safari OSX as an experimental feature and it looks
like it's actually not working properly in WebKit:
[https://bugs.webkit.org/show_bug.cgi?id=85851](https://bugs.webkit.org/show_bug.cgi?id=85851)

To be honest it doesn't seem like developers are jumping up and down for it so
it's easy to understand why it's not a priority. It's open source so you're
welcome to fix it I suppose.

~~~
tarkin2
They have to accept the patch.

Currently if you want a website that records audio, and you want an iphone
user to use it, you have to make a native app, just what Apple would prefer.

------
dep_b
I think for applications like LinkedIn you're really better off leaving it on
the web as you can kill all of their tracking with blockers, this is not
possible with the mobile app. So I prefer to not use LinkedIn or Google
products outside of a browser. This is a big hole in the app ecosystem that
Apple should plug.

Also it's easier to clean up the UI a bit with plug-ins if your really need
to, I think there's a whole ecosystem of them for Facebook for example. So for
that type of apps: no way I'm going to install them.

But there are so many websites that just take 1GB of RAM to render one tab of
data, like JIRA. I guess one of the problems is that complex JavaScript
applications are prone to leaking, unless it's built by a really good team
like Visual Studio Code. But mostly more complex applications, applications
that have advanced multimedia or performance requirements or simply
applications that tie deeper into the native capabilities are better off as a
native application.

------
techaddict009
The same was said by People who built JS Based Mobile apps via React Native
and similar.

Today even Messenger moved back to Native code from React.

~~~
cthulberg
> Today even Messenger moved back to Native code from React.

Nope.

[https://twitter.com/dan_abramov/status/1234801507805138945](https://twitter.com/dan_abramov/status/1234801507805138945)

~~~
tpush
Don't know why you're downvoted, Messenger was native code before the rewrite,
not React (nor React Native).

------
nmstoker
>> It makes you wonder why certain websites even have an app

Good article, but the answer to the point above always seemed obviously about
being better able to identify users and pull their data - this is why so many
apps offer functions that go through your contact list and photos (they can
pull the contacts to work out who you know and hash image / other files so
other apps can be sure they're installing on the same phone)

------
MobileVet
I started building mobile apps in 2004 and this Unicorn / debate was already
alive and well at that point.

Yes, most apps could be easily dropped with increased focus on web
responsiveness. No, it won’t happen wholesale for a variety of reasons.

Most interesting for me to consider is what does an ‘app’ look like when the
target is a contact lens or a hearing aid.

Platforms will continue to evolve and native will continue to be preferred
imho.

------
chrisa
I've written multiple PWAs and native apps for a variety of clients, and
they're basically two different things at this point. As the author points
out, iOS especially lags behind.

Right now, PWAs will not replace native apps in their current form. In
particular:

\- Companies want to have an "app" in the "store". The app store is a huge
search engine, and if you don't have an app in the store, then you're missing
out

\- iOS limits the amount of offline storage you can have, and will just start
deleting your data if you go over the limit, so you can't reliably store
offline data

\- There are a bunch of APIs (especially on iOS) that PWAs don't have access
to (there are a number of sites that show that, including the ones the author
linked to)

So: PWAs are ok for some things - but will in no way replace native anytime
soon :/

~~~
pjmlp
Android and UWP do support "app" in the "store", though.

------
joonhocho
I built PWA for [https://talksub.com](https://talksub.com) Please check it out
on mobile as well as desktop.

I spent about one or two months optimizing for mobile.

There are still a few critical features missing from PWA. 1\. Mobile
Notification - probably the most important feature missing from PWA 2\.
Navigation / History - How history and navigation works are fundamentally
different between mobile and web. For example, mobile app keeps independent
history for each tab. 3\. Pull to refresh - Not as critical, but people are
used to this behavior.

Other devices features and native apis are also unavailable. For basic apps,
PWA is pretty good though.

------
ghoshbishakh
Well I think progressive apps have a long way to go. Now you are able to do
things like photo editing and video editing in your smartphones. You can't
have that with web apps only. Performance of browsers or webviews is very
limited.

------
thetanuj
I'm a native Android developer who is almost always interested in the new and
shiny tool and my bet is on Flutter instead of PWA. The issue with PWAs is
that it's tied up to the mobile browser. Things will never get reasonably
standardized, your PWA will have random strange issues that you can't fix and
your users will have a sub par experience. As a developer, you just don't want
that.

------
k__
The reason native apps are used isn't because they are in any way superior
than web apps.

The are, but that's not the reason for the majority of the apps, probably
under 10% need this superiority.

The reason is marketing and prestige via the app stores and that they are
easier to create walled gardens for customers.

~~~
intpx
for things I use all the time and don't want to fuss with the disaster that is
mobile browser tabs, native apps are vastly superior. I have even bundled up
and sideloaded "apps" that are just a web view that is pinned to a specific
page for some things just so I have a button I can press that always takes me
to the same thing and has no potential for extraneous functionality

~~~
k__
From a dev point of view I prefer web apps to native apps, because meddling
around with the app-stores, xcode and android studio is a huge burden.

From a user point of view I prefer web apps, because I often just have a
browser open and switchting through web apps and they also allow me to share
links, videos and images even if the app creator didn't directly implement
this.

------
cfv
There's stuff like Capacitor with which you can build decently native-feeling
PWAs that can be bundled into appstore-ready trinkets if you so desire. I'm a
huge fan of the insta-deploy feature PWAs offer tho and routinely lobby for
them at my company.

Clients seem to prefer apps for some reason tho.

------
thefounder
PWAs don't have real network access. You are restricted like a website(i.e
CORS)

------
jswizzy
The type of Apps I make can't even be done in a browser in the first place.

------
dmitriid
I'd challenge people who write these think pieces to build a PWA that rivals a
native app.

Somehow the "best PWAs" are a few pages of static text and images. And many of
them (like Twitter) have horrible UI behaviour.

------
pjmlp
Not for high performace games,and scenarions that require hardware access
APIs.

However for typical CRUD applications, nowadays often packed as a WebWidget,
or Flash like applications (WebGL + WebAssembly), it is a definite yes.

------
benguild
People who suggest PWAs have only done web development or have no budget for
native engineers

------
jacknews
I'll bet the 3 apps that people spend most of their time in are all social
media.

~~~
jeroenhd
PWAs can show notifications but Apple refuses to implement notifications for
PWAs on their platform. You can use Chrome on macOS to get notifications
working there but on iOS you're stuck with Apple's decisions. It wouldn't make
sense to add notifications for them since PWAs would obviously cut into their
profit margin so don't expect PWAs to work on iPhones or Safari in general.

I use my Home Assistant as a PWA and the notifications work well on all
platforms I use. Firefox is behind on desktop though, they don't seem to see
PWA support as a priority like Chrome does. On mobile it works fine.

Twitter is already a PWA (though they don't advertise it much) which you can
install on any modern browser onto your phone. I've installed it in Firefox on
my phone and I've never considered downloading their app since. Outlook.com
also has some pretty good PWA support. Those are the ones I know off (aside
from a few local websites/web apps only available in my language).

I don't know about other social media though, twitter is the closest thing to
social media I follow.

