54
Proprietary + Confidential Introduction to Progressive Web Apps @robertnyman

Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Embed Size (px)

Citation preview

Page 1: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Proprietary + Confidential

Introduction to Progressive Web Apps

@robertnyman

Page 2: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

こんにちは東京のみなさん

Hello everyone!

Page 3: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

私の名前はロバートです

I am Robert

Page 4: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryI’m from Sweden - スウェーデン

Page 5: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryJapan - Sweden

127 million people

62nd largest country in the world

377,915 square kilometers

Constitutional Monarchy

Last election: 2010

9 million people

56th largest country in the world

450,295 square kilometers

Constitutional Monarchy

Last election: 2010

Page 6: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietarySomething I recognize

Page 7: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryI am an IT professional

Page 8: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

The webA brief history lesson

Page 9: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

HTML + HTTP and Documents

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 10: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Common Gateway Interface

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 11: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Peak CGI

19911993

19961997

2004 2007 20142005

No <iframes>, only <frameset>

2008

A brief history lesson2016

Page 12: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

XMLHTTP

web.archive.org/web/20070623125327/http://www.alexhopmann.com/xmlhttp.htm

Building Outlook Web Access was really really very very hard, and even so the results were not comparable to the real thing (Outlook). You can't take it offline, you can't use it with multiple mail accounts in a coordinated way, and the UI is just somewhat more clunky.

This doesn't take away from the core value of OWA in being something you can get to from anywhere

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 13: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Gmail

19911993

19961997

2004 2007 20142005

Everyone learnt their tools over 7 years

2008

A brief history lesson2016

Page 14: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

AJAX

Ajax is not a technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM is accessed with JavaScript to dynamically display – and allow the user to interact with – the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 15: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Mobile hits the town

Web Platform jumped forward with the iPhone

● Appcache,● Insert list here.

But when you look at it, mobile developers wanted more and web couldn’t keep up. At this point it wasn’t clear to many developers that mobile is the future.

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 16: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Mobile == Apps

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 17: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Service Worker

19911993

19961997

2004 2007 20142005 2008

A brief history lesson2016

Page 18: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

?

19911993

19961997

2004 2007 201420162005 2008

A brief history lesson

Page 19: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryWeb declared dead in 2010

Page 20: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryWeb very much alive in 2016

Page 21: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryNov 2015, 800 million users

Page 22: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryApr 2016, 1 Billion users

Page 23: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryWeb is all browsers

Page 24: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Native & the web

Page 25: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryWeb traffic twice as much as native

Page 26: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryOnly 10% time spent in browser

Page 27: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryThings could be easier

Page 28: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryReducing friction

Every Step Costs You 20% of Users

- Gabor Cselle

Page 29: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

SLICE

Page 30: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Build instantly engaging sites and apps without the need for a

mandatory app download

SLICE

Page 31: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietarySecure

Page 32: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryLinkable

Page 33: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryIndexable

Page 34: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryComposable

Page 35: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryEphemeral

Page 36: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Why do developers need a native app?

Page 37: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

PerformanceOffline accessPeriodic background processingNotificationsSensorsOS-specific features

From Brett Cannon

Why do developers need a native app?

Page 38: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

PerformanceOffline accessPeriodic background processingNotificationsSensorsOS-specific features

Why do developers need a native app?

Page 39: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Progressive Web Apps

Page 40: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Reliable: Fast loading, works on flaky networksFast: Smooth animation, scrolling and navEngaging and integrated

On the home screen, no URL bar, icons, splashRe-engaging with push notifications

Consistent experience across browsers(still in progress, though)

The Progressive Web App Experience

Progressive Web Apps

Page 41: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

● Client-side proxy in JavaScript

● Net requests, but also push & sync

Service Workers

Progressive Web Apps

Page 42: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & ProprietaryProgressive Web Apps

Page 43: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Web App Manifests

Progressive Web Apps

<meta name="theme-color" content="#303F9F">

<link rel="manifest" href="manifest.json">

Page 44: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Web App Manifests

Progressive Web Apps

{

"short_name": "Air Horner",

"name": "Air Horner",

"start_url": "/",

"display": "standalone",

"orientation": "portrait",

"icons": [{

"src": "icons/icon-192.png",

"sizes": "192x192",

"type": "image/png", "density": "4.0"

}]

}

Page 45: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Add to Homescreen and launch in full-screen mode

User who visits 2x in a given time period will be prompted with “add to homescreen”

One tap to add to homescreen

Opens full screen (no URL bar)

3

Progressive Web Apps

Page 46: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Web push notifications

System level notifications, like apps

Ask to notify users with specific information

Can send notifications even when page closed

5

Progressive Web Apps

Page 47: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Progressive Web App technologies

Required Recommended Features

Service Worker Push notifications

Web App Manifest App shell caching

Splash screen

Advanced Offline Support

Smooth navigation

“Progressive enhancement” with cross browser support

1

2

3

4

7

5

6

Progressive Web Apps

Page 48: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

PWAs can work across browsers

PWAs should work across all modern browsers

Service Worker available in Chrome, Opera, and Firefox; “High priority roadmap” for Microsoft Edge, Safari and UC Web exploring

7

Progressive Web Apps

Page 49: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Use cases

Page 50: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Flipkart: Early results

App

● 3x time spent on site, from 1 minute to 3.5 minutes● Seeing 40% visitors return week over week● Users love smooth experience on 2G & flaky networks

Use cases

Page 51: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

Google Developer Experts

Page 52: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

GitHub contributions to open source projects

StackOverflow reputation

Conference Speaker

Event Organizer

Well versed in the fundamentals of Web Development

Familiarity with new standards as they’re coming into web browsers

Page 53: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

ありがとうございました

Thank you

Page 54: Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan

Confidential & Proprietary

robertnyman.com

[email protected]

@robertnyman