@markdalgleish

The Future

of

Web Apps

Web

vs

Native

Disclaimer:

I’m a web fanboy

Why


build


native


apps?

Performance

Priority

Convenience

Engagement

How’s


the


web


better?

Ephemeral

Universal

Continuous

Can the web be

more app-like?

Yes.

Performance?

Project Ganesh

“Our goal is to make 60fps a reality on all content,
and on all devices.”

Ryan Schoen, Chrome

60fps for

all animations…

…not just

transform and opacity

Material Design

Material design

for the web?

Polymer

<core-header-panel>

<core-toolbar>

<paper-checkbox>

<paper-dialog>

material-ui


react-material


angular-material

Priority?

Chrome + Task Switcher + Theme Colours

<meta name="theme-color" content="#db5945">

Convenience?

“What we need is a method of “installing” web apps so they are indistinguishable from any other app installed on a user’s device”

Bruce Lawson, Opera

Web


application


manifest

{ "name": "My App",
  "icons": [...],
  "display": "fullscreen",
  "orientation": "portrait",
  "start_url": "/index.html"
  "service_worker": {
    "src": "app.js",
    "scope": "/myapp" } }
    

Install


via


manifest

navigator.mozApps.install('/manifest.json');

Engagement?

ServiceWorker

“ServiceWorker changes the scope of the web more than any feature since XHR”

Jake Archibald, Google

“…basically an in-browser proxy that gives you the power to script what happens before you go to the network, and what happens after you get back from the network”

Alex Russell, Google

“Since Service Workers run in the “background”, they open up several possibilities for the Web that were previously only available on native platforms”

Nikhil Marathe, Mozilla

Service Workers


completely redefine


the web

ServiceWorker

+

Fetch/Cache APIs

+

Push & Notification APIs

+

Background Sync API

The future?

Native


apps


the


exception?

“… the native app pendulum has swung out about as far as it can, and in the next few years we’ll start seeing it swing back toward web tech again”

Michael Bleigh, Divshot

In the meantime…

Plan for a

“web app” future

bit.ly/futureofwebapps