DEV Community

Will Progressive Web Apps overcome Native?

Diogo Mafra on February 02, 2018

In my opinion, this discussion is about culture, have we already passed the time of downloading apps and being use to always search for new things ...
Collapse
 
nektro profile image
Meghan (she/her)

First of all, welcome to dev.to!

will IOS and Android developer jobs die?

Perhaps! I agree, devices and browsers do not properly handle web apps both as a normal tab and after the "download". I don't think web apps will fully replace native apps since there are certain functionalities that the web will most likely never get (such as opening up ports on the host machine to make a server) but I do see PWAs and the like replacing the vast majority of existing applications. Between increased security, sandboxing, portability, Workers, WebAssembly, and more this fits the requirements to make a good >95% of apps.

For the rest, I think either one of two things will happen.

  1. C (and C++, and Go, and Rust, ect) will never die but will greatly change or
  2. Standards are put together to make a "universal" app container built on top of web technologies that expose native APIs. Think Electron but more efficient and with a language more similar to TypeScript.
Collapse
 
sambenskin profile image
Sam Benskin

Currently reading this on the Dev.to PWA and it's excellent. One click to install and use, it's now on my apps menu and responds to link clicks in other apps like a native app.

Downloading apps feels a hassle and don't get me started on all the permissions they ask for. No I don't want to share my contacts, location, message history or anything with you Mr wallpaper app.

Having your app in the same code language let alone the same codebase is fantastic.

Collapse
 
ztickm profile image
Salim MAHBOUBI

Just a note on permissions.
PWAs inherit your browser's permissions. They might not bug you about it but they have them. Which is a bit scarier.

Collapse
 
sambenskin profile image
Sam Benskin

Interesting, didn't know that. Thanks for letting us know

Collapse
 
l0uiscouture profile image
Louis Couture β€οΈπŸ³οΈβ€πŸŒˆπŸ‡ΊπŸ‡³βšœοΈ

wait how is it a PWA? It isn't

Collapse
 
nektro profile image
Meghan (she/her)

To combat a few of your points and to hopefully give you some good news, I have this.

  • On downloads, this is where PWAs are strongest. Web Apps are far (like -10x or more) smaller than their native app counterparts.
  • On forcing a connection to online, this is purely bad coding and Service Workers were made specifically to counteract this. I hope that we, as users, can show the developers of apps such as these that this unacceptable in either case (web app or native)
  • On performance, JavaScript is, young... The hatred of JS, whether genuine or in satire, is stemmed from a long history of bad design decisions that all had their reasons at the time, but we're learning. Web Workers take JS finally off the UI thread, and WebAssembly gives us a way to compile big statically-typed languages to a web compatible format ahead of time.

Hope this helps :)

Collapse
 
claudiordgz profile image
Claudio Rodriguez

Despite all that, I don't know how are we going to organize our apps inside the browser!

You don't need to, that's the purpose of the open web, which Andre Staltz says it's dead (and he is right).

Making a proper PWA is a pain, and only those who tackle every single issue will be the masters of their domain. Companies with better PWAs are already improving against their competition, there are many case studies in every Google I/O and Chrome Dev Summit. Fortunately the tooling is getting exponentially better every year.

But the only way to learn is to start working on it, caching locally first it's a big problem on it's own.

Making local databases on Native is easier, sadly this is abused constantly, with unnecessary wakelocks triggering on your devices every minute just because the devs didn't bother for a better way or 500 mb payloads because they wanted to ship 40 libraries to do the same thing.

Making a website is hard, but the entry barrier is minimal to no existent compared to a native app, and so is for consumers.

There will always be use cases for native applications, but I disagree Spotify is one of them, even Netflix runs decently on a web application. Most used applications are for data consumption and thus they do not need to be a native app.

If you make a competitor Spotify in a PWA that works correctly you would definitely make a dent on their market share and may even leave them in the dust... but it's not easy, competition is hard. If you try to compete on a native app you will be left in the void.

I think the real question people need to be doing is Should I be building a native application for my business case?

For someone in the US it usually makes sense, iOS has a decent market share for you to get started.

For Android is a pain, there are way too many devices that you need to make the question If I'm going to support all these devices for TV, Desktop, Phones, should I be doing a WebApp instead?

will IOS and Android developer jobs die?

I don't think so no, if anything they will become more rare like COBOL jobs. Maybe very well remunerated because devs in those techs will decrease.

Why will there be less developers?

Companies want to be ubiquitous, this is a problem if you try to develop an app that works everywhere with a reliable UX and UI. So big companies might find it more profitable to sunk costs on proper WebApps instead of Native Apps. Keep in mind that Google and Facebook already control up to 70%, so your's or your companie's piece of the action is getting harder to get.

For small companies with niche markets in a specific device then none of this is necessary, so you can tackle a Native App if you live in a town that makes a lot of them (I live in Atlanta an Big Nerd Ranch means a big presence of native devs).

It's way harder right now to do a decent UX on a PWA than on Native, because by default you have to support a ton of devices and browsers. On Native you can constraint that, making you live a better life in general on the short term. But that is manageable, you could say 'we're only supporting X browsers and versions on launch' instead of tackling 'the whole world'.

Collapse
 
pedrouid profile image
Pedro Gomes

I can see it happening with browser support for more secure databases but storage is cheaper than ever and it's much easier to build a 23mb native app than cutting down a web app to under 1mb, handle cache and manage service workers, but technology is getting better and we are seeing major improvements in web development every month.

Collapse
 
petrpeller profile image
Petr Peller

Not in the near future because browsers (and especially mobile browsers) suck.

The difference between native and web is getting smaller though. Web apps are getting faster and native apps easier to develop. I think React Native will dominate the market soon.

Collapse
 
planetwebsol profile image
Planet Web Solutions

No Doubt, native apps offer rich functionalities and benefits to the user as well as Admin. But creating a native app for a business is not an easy task to do, it requires a lot of monetary resources and it is a time-consuming process. So it is must to replace in Progressive web Apps regarding business benefits.

Collapse
 
rangeoshun profile image
Abel Varga

But webapps do not need constant internet access, as there is some storage space available for them in app cache and other storages provided by the browser. This is called "offline first".

As for the data, you'll need data for Twitter for example to see tweets.

So in lot of the cases you can build your PWA and use it without internet after downloading it one time.

Collapse
 
l0uiscouture profile image
Louis Couture β€οΈπŸ³οΈβ€πŸŒˆπŸ‡ΊπŸ‡³βšœοΈ

I think that there are misconceptions here.

  1. PWA are available on the Home Screen menu. They are also supposed to be available offline.

2.PWA are discoverable. You search for them on your search engine and land to the site and then you add the app to your Home Screen

I know this article is really old but I do have some post mortem for how PWA rolled out.

Will Android developers jobs die?
Perhaps, but it has not been the case yet
WIll iOS developers jobs die.

Absolutely not.

Apple will never allow PWA to become the mainstream way of gettingapplications on iOS. It is going against it's business model. Apple makes money through the App Store with the 30% fee on transactions. To have that replaced by PWA would means Apple loses this income. This is why Apple is refusing to enable push notifications on iOS paw

Collapse
 
diogomqbm_ profile image
Diogo Mafra

Guys, the point that I’m also trying to say is that the web is getting prepared for more laboured features, in my perspective, that’s amazing!