progressive web apps

63
Progressive Web Apps Are Native Apps Doomed? Timmy Kokke @sorskoot

Upload: timmy-kokke

Post on 16-Apr-2017

193 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Progressive web apps

Progressive Web Apps

Are Native Apps Doomed?

Timmy Kokke@sorskoot

Page 2: Progressive web apps
Page 3: Progressive web apps
Page 4: Progressive web apps
Page 5: Progressive web apps
Page 6: Progressive web apps

You’ve got everything you need if you know how to write apps using the most modern web standards to write

amazing apps for the iPhone today Steve Jobs, 2007

https://www.youtube.com/watch?v=y1B2c3ZD9fk&feature=youtu.be&t=1h14m11s

Page 7: Progressive web apps

The web is becoming more powerful every day, even on mobile devices

Page 8: Progressive web apps

You want to develop the best experience for every user on every platform over every network

Page 9: Progressive web apps

Building native apps is expensive, and a responsive website is often built anyway

Page 10: Progressive web apps

You only want to build your application once and run it anywhere

Page 11: Progressive web apps

Use modern web standards and tools to build amazing user experiences

Page 12: Progressive web apps

Progressive Web apps are the future of web development

Page 13: Progressive web apps

PWAs deliver experiences that have the reach of the web

Page 14: Progressive web apps

Reliable

Page 15: Progressive web apps

Fast

Page 16: Progressive web apps

Engaging

Page 17: Progressive web apps

PWAs use modern web capabilities to deliver an app-like user experience

Page 18: Progressive web apps

Start with a good experience for everyone and improve based on what you know about the user

Graceful Degradation

Progressive Enhancement

Page 19: Progressive web apps

W3C Standards are maturing and enabling more and more native features to the web

Page 20: Progressive web apps

Can work in conjunction with Cordova + HWA to take the step into the various stores, use window APIs

Page 21: Progressive web apps

Building a progressive web apps has incredible benefits

Page 22: Progressive web apps

You can use what you know already from building web apps

Page 23: Progressive web apps

You don’t have to go to any complex app marketplace, so you can fix bugs easy and fast

Page 24: Progressive web apps

They make it easy to delight your users, grow engagement and increase conversions

Page 25: Progressive web apps

You can build progressive web apps today

Page 26: Progressive web apps

People are building them already, with success!

Page 27: Progressive web apps

14% more monthly active users on iOS; 30% on Android

Alibaba 76% higher conversions across browsers

4X higher interaction rate from Add to Homescreen

Page 28: Progressive web apps

30% faster page load

Housing.com 38% more

conversions10% longer average session

Page 29: Progressive web apps

Support is there

Page 30: Progressive web apps

Many APIs are available or are planned

Page 31: Progressive web apps

Because of feature detection you realize progressive enhancement

Page 32: Progressive web apps

Only Safari stays behind

Page 33: Progressive web apps

It’s good for you AND your users

Page 34: Progressive web apps

User don’t have to go to the appstores and apps use up less space

Page 35: Progressive web apps

53%Web traffic from mobile

Page 36: Progressive web apps

Your web experience will improve as well

Page 37: Progressive web apps

The user will be happy if you provide the best possible experience for them

Page 38: Progressive web apps

Progressive Web apps are build using modern tools and APIs

Page 39: Progressive web apps

Tools

Page 40: Progressive web apps

F12

Page 41: Progressive web apps

Lighthouse

Page 42: Progressive web apps

manifoldjs

Page 43: Progressive web apps

Patterns and pieces

Page 44: Progressive web apps

Shell Architecture

Application Shell Content

Page 45: Progressive web apps

Manifest.json{ "name": "SDN Event Schedule", "short_name": "SDNEventSchedule", "icons": [ { "src": "icons/icon-128x128.png", "sizes": "128x128", "type": "image/png" } ], "start_url": "/", "display": "standalone", "gcm_sender_id": "840152970702", "theme_color": "#98be0d", "background_color": "#FFFFFF"}https://w3c.github.io/manifest/

Page 46: Progressive web apps

Promises$.getJSON('/api/sessions') .done(data => handle(data.text) ) .fail(() => $('body').append('error') ) .always(() => $('body').append('done') );

Page 47: Progressive web apps

Promises$.getJSON('/api/sessions') .done(data => handle(data.text) ) .fail(() => $('body').append('error') ) .always(() => $('body').append('done') );

Page 48: Progressive web apps

Promises$.getJSON('/api/sessions') .done(data => handle(data.text) ) .fail(() => $('body').append('error') ) .always(() => $('body').append('done') );

Page 49: Progressive web apps

Promises$.getJSON('/api/sessions') .done(data => handle(data.text) ) .fail(() => $('body').append('error') ) .always(() => $('body').append('done') );

Page 50: Progressive web apps

Promises$.getJSON('/api/sessions') .done(data => handle(data.text) ) .fail(() => $('body').append('error') ) .always(() => $('body').append('done') );

Page 51: Progressive web apps

APIs

Page 52: Progressive web apps

Service Workers

Page 53: Progressive web apps
Page 54: Progressive web apps

Fetchfetch('./api/some.json') .then(response => response.json().then(data => console.log(data) ) ) .catch(err => console.log(`Fetch Error :${err}`) );

Page 55: Progressive web apps

Fetchfetch('./api/some.json') .then(response => response.json().then(data => console.log(data) ) ) .catch(err => console.log(`Fetch Error :${err}`) );

Page 56: Progressive web apps

Cache API

Page 57: Progressive web apps

DEMO

Page 58: Progressive web apps

Conclusion

Page 59: Progressive web apps

Vragen?

Page 60: Progressive web apps

Timmy KokkeICT Consultant @ CentricMicrosoft MVP

@[email protected] http://winjs.ninjahttp://youtube.com/c/winjsninjahttp://twitch.tv/sorskoot

Page 61: Progressive web apps

Usefull linkshttps://developers.google.com/web/progressive-web-apps/

https://serviceworke.rs/

http://manifoldjs.com/

Page 62: Progressive web apps

Resourceshttp://www.slideshare.net/cheilmann/progressive-web-apps-the-return-of-the-web-goto-berlin-2016?qid=d300a1c6-a160-4d7b-ba3c-b1aa0b755472&v=&b=&from_search=1 https://serviceworke.rs/ https://developers.google.com/web/showcase/2016/iowa2016 https://medium.com/javascript-scene/why-native-apps-really-are-doomed-native-apps-are-doomed-pt-2-e035b43170e9#.7988vvpvl https://www.smashingmagazine.com/2016/08/a-beginners-guide-to-progressive-web-apps/ https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle

Page 63: Progressive web apps