It's time to build for the web, again.
It was declared dead, largely in favour of native apps. But the web, the biggest and most open platform we have, is fighting back—it's caught up with features only available in proprietary, native APIs, including making websites feel more 'app-like'. Sure, native development has it's place—but only if you're big, or lucky. For you as a developer, the web provides a frictionless way to reach users (while providing 'app-like features') all via a single href.
For a history lesson: in 2007, smartphones hit the mainstream. Steve Jobs announced the first iPhone. At the time, Apple famously (albeit briefly) resisted "apps", instead directing developers to 'write amazing Web 2.0 and Ajax apps'.
Of course, native apps quickly came to dominate, as we now have closed app ecosystems on these billions on mobile devices. This is not without good cause; it's difficult to imagine the next trendy social platform or addictive, casual game appearing as anything but "the latest native app". On the other hand, these ecosystems are dominated by a few behemoths. The average mobile user spends the majority of their time in just a few apps—no prizes for guessing what they are—and installs an average of zero or one new app per month.
But the web has maintained its incredible reach since before the Age of Apps. Sites that deliver content have been able to do it whether the user's browser was automatically updated last night or is an unpatched mess of security holes from several years ago.
Modern, 'evergreen' browsers—like Chrome, Edge, Firefox and Safari—have also helped drive a rapid iteration of APIs on the web. These are the 'triple-A' of browsers, and as developers, we can target them via the best of the best APIs—because we can be confident they're up to-date—while shipping the same or a similar website to old browsers. This all works because, fundamentally, HTML is still the same as it was ten or even twenty years ago.
Today, we can build what's called a "Progressive Web App", or PWA. This describes a site using the group of APIs that let the web act in an 'app-like' way—but more importantly, it's the phrase you tell your manager or your investors who only want "an app"! These APIs include:
* Websites that work and load on a poor or or offline connection
* That can push native notifications to users (where accepted)
* And which can have an icon on a user's home screen, or in any place an 'App' might appear
In this talk, I'll show you how to create a Progressive Web App and demonstrate the APIs that make up this definition, and talk about the future of the standard, open web.
Sam is a Developer Programs Engineer at Google Australia, where he builds cross-platform web experiences like Santa Tracker and the Google Developers site. He also creates videos for the Google Chrome Developers channel and evangelises for the modern mobile web.