Top Banner
Progressive Web Apps: What are they and how to test them December 2018
28

Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use Progressive

May 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Progressive Web Apps:What are they and how to test them

December 2018

Page 2: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Speakers

2

Ruth Zamir

Director of Marketing

Tom Ben Simhon

Americas CTO

Page 3: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Agenda

3

What are PWAs? Why are they trending?01 10 min

PWA architecture 02

Summary & Q&A

0304

Testing PWAs

10 min

10 min

30 min

Page 4: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Demo

4

Page 5: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Why are PWAs a growing trend?

5

of internet time on smartphones is in apps90%

will leave page that loads in over 3 seconds

Average app downloads per month

53%

Native apps currently dominant… But the winds of change are here

of time spent in apps is in 7 apps

90%

Web apps reach X3

0

Web experience closing gap with mobile

Page 6: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

6

“Websites that took all the right vitamins*”(not hybrid apps)

Offline / low network mode

Icon & app shell Notifications

* Alex Russell

Page 7: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

A growing trend

7

Page 8: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Proven results*

8

40% more time on the site

Ad revenue rates up by 44%

Core engagements up 60%

60% of customers who had uninstalled their native app return to use the Flipkart PWA

84% decrease in time until the page is interactive

17% increase in conversions

53% increase in mobile sessions on iOS

Cut load times from 11.37s to 4.69s

90% smaller than android native app

User engagement up

* Yes, you could argue that you can achieve these results without a PWA

Page 9: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

9

Poll

Page 10: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Impact on App Development & Delivery

10

Same app for all platforms *

Instant push to production

* iOS PWA functionality will have different implementation due to limitations

Page 11: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Not only an immersive, app-like experience

11

Linkable

Responsive

Connectivity independent

App-like-interactions

Fresh

Safe

Discoverable

Re-engageable (push)

Installable

*Defined by Alex Russell and Frances Berriman in 2015

Page 12: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Who is pushing for PWA?

12

Page 13: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Agenda

13

What are PWAs? Why are they trending?01 10 min

PWA architecture 02

Summary & Q&A

0304

Testing PWAs

10 min

10 min

30 min

Page 14: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Key building blocks and strategies

14

App Shell Manifest file Service Worker Security Layer

Caching Strategy – what is cached, where, Ensure performance and offline availability

Basic components that provide an app like

experience

is a script that your browser runs in the background,

separate from a web page

Meta information about the web app. e.g. icon,

background color, name short name, etc.

(currently only in Chrome)

Page 15: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Browser support for PWA (Source: caniuse.com)

15

Service Workers

Manifest files

Page 16: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

16

• No Push Notifications

• Offline data and file storage 50 Mb limitation

• If the user doesn’t use the app for a few weeks, iOS will free up the app’s files.

• No Siri integration

• No access to some features, such as Bluetooth, serial, Beacons, Touch ID, Face ID, ARKit, altimeter sensor, battery information

• No access to execute code while in the background

• No access to private information (contacts, background location)

• No access to native social apps

• No access to In App Payments

iOS PWA limitations

Page 17: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Agenda

17

What are PWAs? Why are they trending?01 10 min

PWA architecture 02

Summary & Q&A

0304

Testing PWAs

10 min

10 min

30 min

Page 18: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

18

Testing strategy

Test for PWA

Progressive web app

Test other functional & non-functional aspects

Functional testing

Test for RWD –visual cross

browser testing

Non-functional Visual cross browser testing

Google checklistTest caching strategy

Test manifest Test service workers

Page 19: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

19

Google tools - Help guide you through the PWA testing process

Google Lighthouse

Progressive Web App Checklist

Page 20: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

20

Page 21: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

21

Testing strategy - process

Initial Grade Sprint 1 Sprint 2 Target score

Performance 69 80

Progressive Web App 88 99

Accessibility 79 85

Best Practices 87 89

SEO 100 100

Tasks:

Performance use <script async>

Progressive Web App

All app URLs load while offline Use a Service Worker.

Best Practices

SEO

Page 22: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

22

Page 23: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

23

Page 24: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Agenda

24

What are PWAs? Why are they trending?01 10 min

PWA architecture 02

Summary & Q&A

0304

Testing PWAs

10 min

10 min

30 min

Page 25: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Summary

• App usage and customer experience require a rethink of app design

• Web sites gaining back their position with advanced web stack tech

• Move to app-like web sites changes the dev org structure

• PWAs are far easier to provision and deploy

• Testing needs to consider both traditional testing and PWA aspects

25

Page 26: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive
Page 27: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

• https://infrequently.org/2016/09/what-exactly-makes-something-a-progressive-web-app/

Additional resources

27

Page 28: Progressive Web Apps: What are they and how to …...Progressive Web App 88 99 Accessibility 79 85 Best Practices 87 89 SEO 100 100 Tasks: Performance use <script async> Progressive

Questions?▪Schedule a meeting to see how Experitest can help:

[email protected]

28