App Wars, Episode 4: New hope for the web

There are 5 main types of apps you can build in 2016. Do you know them all? More importantly, did you know there’s a bit of a war going on between the two main factions?

One one side, there are native apps. On the other, web apps. Both sides would love to dominate the app world. Both sides have created first and second generation players.

This series of blog posts wants to introduce you to each type of player so you can pick the right one for your project.

TLDR; Try our cool candied nibnut app to help you decide!

Progressive web apps (PWA)

These are the newest guys on the block. Google introduced this standard in 2015 – so not two years ago. Microsoft and Firefox have both said they are working on supporting them.

Apple, sadly, has not yet officially announced if they will support PWAs or not. But they are such a great leap forward they are worth keeping an eye out for.

Progressive web apps are basically an attempt at making web apps true contenders for native or hybrid apps. The standard is about giving the best of both native and web apps to the user and the developer.

The “progressive” in their name means they adapt to the user’s browser. Open up your app in an older, non-PWA browser and you’ll get a regular web app, with all the pros and cons I’ve highlighted. But fire it up in a newer browser, and you automatically get all the goodies of PWAs. (see below)

Because the standard is so new, and not fully embraced yet, there are very few examples. But some notable ones are the Washington Post and Telegram’s web client.

For it

  • About as cheap to develop as a web app.
    There’s a bit of overhead for making a web app a progressive web app, but it’s minimal.
  • Speedy.
    Not as fast as a native app, but there’s an extra level of “super-caching” to greatly speeds things up.
  • Network access optional.
    In theory, you can have a PWA that does not require an internet connection once installed. But, just like a native app, most interesting features these days will require an internet connection.
  • Bells, whistles, push notifications: check, check and check!
  • Secure.
  • Better app discovery.
    Google has said they will identify PWAs in its search results. And since they are now clearly identifiable, it is conceivable we could some day see a web app directory – or web app store.
  • Easy installation.
    This is one of the cool features of PWAs: the second time a user goes to your app, the browser will notice and ask them if they want to install this app on their device. Yes or no. That’s all. An installed PWA places an icon on the device’s home page, just like a native app. And when the user clicks the icon, it does not launch the browser: it opens up the actuall app. It looks and feels like a native app.
  • Easily shared.
    It’s like a web app – send the link to your friends and you’re done.

Against it

  • Not fully embraced by all browsers yet.

Against it – kinda

  • Local data storage still a bit limited.
    Much less so than a regular web app, though. For most cases, the local storage allowed should be enough. You will, however, have the same potential issue as native apps: take too much of a user’s limited mobile device disk space, and you risk being ditch when they want to take a nice picture of Pooch eating a hot dog…
  • Speed.
    I know, I know: speed is both a pro and a con. But the fact is you’re still at the mercy of the user’s network speed. So the extra aggressive caching helps a lot, but it’s still annoying not all users will get the same experience.

So this is all well and good: there are 4 types of apps one can build for mobile devices. Each has great pros and annoying downsides. So… How the heck does one pick the type of app to build?

Join me in the last episode next Wednesday, where I will do my best to guide you through the (few) cases where your decision is easier to make – and try to give you general guidelines for all those other situations…