The Web Is Dead! Long Live The Web!
Channel: LinuxConfAu 2018 - Sydney, Australia
Date: 01/02/2018

Sam Thorogood

http://lca2018.linux.org.au/schedule/presentation/81/

It's time to build for the web, again.

It was declared dead[1], largely in favour of native apps. But the web, the biggest and most open platform we have, is fighting back[2]—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'[3].

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[5] or one[6] 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'[4] 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.

[1]: https://www.wired.com/2010/08/ff_webrip/
[2]: https://www.wired.com/2016/04/wait-web-isnt-really-dead-google-made-sure/
[3]: https://9to5mac.com/2011/10/21/jobs-original-vision-for-the-iphone-no-third-party-native-apps/
[4]: http://eisenbergeffect.bluespire.com/evergreen-browsers/
[5]: https://www.recode.net/2016/9/16/12933780/average-app-downloads-per-month-comscore
[6]: https://www.tune.com/blog/no-the-average-american-does-not-download-0-apps-each-month/

This talk was given at Linux.conf.au 2018 (LCA2018) which was held on 22-26 January 2018 in Sydney Australia.

linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see https://linux.conf.au/

#linux.conf.au #linux #foss #opensource