SlideShare a Scribd company logo
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
●
●
●
●
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
I had been angling for a way to make web apps
first-class citizens since the Chrome Apps era.
in London in ~'12-'13, Jake Archibald and Alex started
working on Service Workers.
The other piece of the plan was a small manifest file.
Marcos from Mozilla was working on the manifest
format and we joined him there.
Jeff Burtoft from MSFT was angling for something very
similar within the constraints of UWP
- Alex Russell
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
"
"
2012
-W
ork
startson
Service
W
orkers
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
2013
-m
anifest.json
2015
(June)-PW
A
term
coined
2015
(A
pril)-Introduced
in
Chrom
e
42
2015
-FirstPW
A:airhorner.com
2015
(O
ct)-Flipcart.com
launched
2017
-W
ebAPK
&
D
esktop
PW
A
2018
(M
ay)-VSF
1.0
islaunched
2017
(D
ec)-W
orksstartson
PW
A
Studio
2017
(A
ug)-W
ork
startson
VSF
Offline Enabled
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Secure
Installable
Discoverable
Native functionalities
Progressive
Async processes
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Javascript App
Misc sources
What Might We Find In Your Average Setup
Ecommerce Backend
Middleware
Indexed Storage
Static CacheDirect API calls
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
"So technically, you could use like, _any_ of
them to build a PWA
all these frameworks now ship with the
things you'd need, for the most part
Routing, Server-Side Rendering, Bundling"
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
For the Javascript Fans. Pure implementations and a
frontrunner when it comes to implementing new
patterns.
Offers simple and clean solutions.
Slightly easier to get into as a backend developer. It
focuses on offering easy solutions such as templates.
Much of the complexity is hidden.
More Enterprise-y offering an MVC like framework
to quickly develop applications with more standard
views and functionalities.
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
- Some LINK tags in the head of your HTML page
<link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="manifest" href="manifest.json">
- Generate your Manifest
https://app-manifest.firebaseapp.com/
- Add an SSL certificate
https://letsencrypt.org/
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
DONE!
Offline Enabled
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Secure ✔
Installable ✔
Discoverable ✔
Native functionalities
Progressive
Async processes
- Single Page Application
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
- Single Page Application
- Makes caching easier
- Offers a client side application
- Works offline*
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
- Single Page Application
- Makes caching easier
- Offers a client side application
- Works offline*
- Native Functionalities
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
- Single Page Application
- Makes caching easier
- Offers a client side application
- Works offline*
- Native Functionalities
- Service Workers
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Offline Enabled ✔
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Secure ✔
Installable ✔
Discoverable ✔
Native functionalities ✔
Progressive
Async processes ✔
- At best a fully functional application, at worst a responsive website
- Webpack + Babel provides backwards compatibility
- Older browsers will lack features such as Service Workers
- Always think about Graceful Degradation
- Caniuse(.com) can tell you what features a clients browser offers
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Offline Enabled ✔
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Secure ✔
Installable ✔
Discoverable ✔
Native functionalities ✔
Progressive ✔
Async processes ✔
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
self.addEventListener( 'install', event => {
event.waitUntil(
caches.open( 'my-awesome-pwa' )
.then(cache => {
return cache.addAll([
'/',
'assets/mylogo.png' ,
'assets/offline.html'
]);
})
);
});
service-worker.js
navigator.serviceWorker.register( '/service-worker.js' )
.then(function(registration) {
console.log('Service Worker registered for scope: ' , registration.scope);
})
.catch(function(error) {
console.log('Service Worker registration failed:' , error);
});
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
●
https://developers.google.com/web/updates/2015/12/background-sync
●
https://hackernoon.com/why-and-how-to-implement-web-notification-api-4eb795c5b05d
●
https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
- SEO
- Faster Rendering
- Faster Downloading
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Each request hits the server that then renders the
page. This can of course be cached
Pages are prebuilt during a deploy process and
stored on disk.
For static content a page is written as a static HTML
file and stored on the server
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
HTML file
Evolution Of Serving Content
Browser
Static (1990)
Dynamic Language
Browser
Dynamic (1993)
HTML file
Dynamic Language
Browser
Headless (~2000)
API layer
Consuming App
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Evolution Of Serving Content
Dynamic Language
Browser
Decoupled
API layer
Consuming App
Decoupled
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Evolution Of Serving Content
Dynamic Language
Desktop
Headless
API layer
Client 1
Mobile Smart watch
Client 2
POS
Client 3
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Evolution Of Serving Content
Dynamic Language
Desktop
Headless & Platform Agnostic
API layer
Client 1
Mobile Smart watch
Client 2
POS
Client 3
Completely different source
API layer
Upstream data set
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
To Add Cache
Dynamic Language
Browser
API layer
Consuming App
HERE
HERE
AND HERE
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
To Swap Out Elements
Dynamic Language
Browser
API layer
Consuming App
THIS
THIS
OR THIS
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Allows for easier chaining
Hydrates objects in the IDE
Powerful caching with Apollo
Comes out-of-the-box with most platforms / solutions
Easy to implement
Easy to cache
Just… Why… ?
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
✔ The API's cover functionalities we need such as "add to cart" or "login"
Think about common actions around webshops.
✔ Data currently on the frontend is exposed via API.
Pay extra attention to 3rd party modules.
✔ There is some form of caching on the API endpoints.
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Light-weight and multithreaded
One language for Frontend and Backend
Offers the right features
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Light-weight and multithreaded
One language for Frontend and Backend
Offers the right features
Especially in the latest versions it's very performant
Knowledge already in house
Has the features needed
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Light-weight and multithreaded
One language for Frontend and Backend
Offers the right features
Especially in the latest versions it's very performant
Knowledge already in house
Has the features needed
Offers routing, APIs, light-weight
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
✔ There is a benefit by isolating the backend from the frontend.
✔ There is a clear owner for the middleware.
✔ We know how to properly host this application.
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
✔ Takes care of the basics such as routing, implement service workers
and integrations with backends.
✔ Gives a canvas on which developers can innovate.
✔ Offers documentation, a community and services around it.
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
Get familiar with all the
components making up a PWA
Headless provides flexibility and
performance but check API coverage
Pick the solution that fits best to
project needs & team
sander@vuestorefront.io
@sandermangel
www.vuestorefront.io
bit.ly/awesome-vue-storefront
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
✔ Usually can be found around the coffee table
✔ Doesn't bite
✔ Loves to talk about: PWA, Travel, Plants, Your hometown and/or hobbies
PWA, Separating features and solutions @sandermangelsander@vuestorefront.io

More Related Content

What's hot

Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
Ritwik Das
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
Atlassian
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentation
bhavesh singh
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
connectwebex
 
Connect First, Ask Confluence Questions Later
Connect First, Ask Confluence Questions LaterConnect First, Ask Confluence Questions Later
Connect First, Ask Confluence Questions Later
Atlassian
 
SMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influenceSMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influence
Sara Cannon
 
Bruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of AppsBruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of Apps
brucelawson
 
Lightning Components Explained
Lightning Components ExplainedLightning Components Explained
Lightning Components Explained
Atul Gupta(8X)
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
AdobeMarketingCloud
 
XPages Mobile, #dd13
XPages Mobile, #dd13XPages Mobile, #dd13
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
dssprakash
 
Headless - the future of e-commerce
Headless - the future of e-commerceHeadless - the future of e-commerce
Headless - the future of e-commerce
Jamie Maria Schouren
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
rbl002
 
[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio
CedCommerce
 
Supercharge Your Pages - New Ways to Extend the Confluence Editor
Supercharge Your Pages - New Ways to Extend the Confluence EditorSupercharge Your Pages - New Ways to Extend the Confluence Editor
Supercharge Your Pages - New Ways to Extend the Confluence Editor
Atlassian
 
IconFonts
IconFontsIconFonts
IconFonts
Sara Cannon
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
Mohith Shrivastava
 
Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?
Natalija Rodionova
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
Roy Kim
 

What's hot (20)

Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
 
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fastHow Bitbucket Pipelines Loads Connect UI Assets Super-fast
How Bitbucket Pipelines Loads Connect UI Assets Super-fast
 
NodeJs-resume
NodeJs-resumeNodeJs-resume
NodeJs-resume
 
Home management WebApp presentation
Home management WebApp presentationHome management WebApp presentation
Home management WebApp presentation
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
Connect First, Ask Confluence Questions Later
Connect First, Ask Confluence Questions LaterConnect First, Ask Confluence Questions Later
Connect First, Ask Confluence Questions Later
 
SMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influenceSMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influence
 
Bruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of AppsBruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of Apps
 
Lightning Components Explained
Lightning Components ExplainedLightning Components Explained
Lightning Components Explained
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
XPages Mobile, #dd13
XPages Mobile, #dd13XPages Mobile, #dd13
XPages Mobile, #dd13
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
Headless - the future of e-commerce
Headless - the future of e-commerceHeadless - the future of e-commerce
Headless - the future of e-commerce
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
 
[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio[Webinar] Expanding future mobile commerce with Magento PWA Studio
[Webinar] Expanding future mobile commerce with Magento PWA Studio
 
Supercharge Your Pages - New Ways to Extend the Confluence Editor
Supercharge Your Pages - New Ways to Extend the Confluence EditorSupercharge Your Pages - New Ways to Extend the Confluence Editor
Supercharge Your Pages - New Ways to Extend the Confluence Editor
 
IconFonts
IconFontsIconFonts
IconFonts
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
 
Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
 

Similar to Pwa, separating the features from the solutions

Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopware
Sander Mangel
 
Progressive Web Apps - deep dive
Progressive Web Apps - deep diveProgressive Web Apps - deep dive
Progressive Web Apps - deep dive
Kenneth Rohde Christiansen
 
Acquia Platform Update: New Features and Capabilities
Acquia Platform Update: New Features and CapabilitiesAcquia Platform Update: New Features and Capabilities
Acquia Platform Update: New Features and Capabilities
Acquia
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
Udi Bauman
 
Arquitectura MVVM para la construcción de aplicaciones Windows Store
Arquitectura MVVM para la construcción de aplicaciones Windows StoreArquitectura MVVM para la construcción de aplicaciones Windows Store
Arquitectura MVVM para la construcción de aplicaciones Windows Store
Damian Schenkelman
 
Going web native
Going web nativeGoing web native
Going web native
Marcus Hellberg
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Johannes Weber
 
Crash Course in AngularJS + Ionic (Deep dive)
Crash Course in AngularJS + Ionic (Deep dive)Crash Course in AngularJS + Ionic (Deep dive)
Crash Course in AngularJS + Ionic (Deep dive)
ColdFusionConference
 
Share point 2013: introduction, features, and roles
Share point 2013: introduction, features, and rolesShare point 2013: introduction, features, and roles
Share point 2013: introduction, features, and roles
Vinh Nguyen
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Divante
 
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesJBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
Tikal Knowledge
 
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
rayvillares
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websiteshaxorize
 
Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015 Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015
marcenglund
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Salesforce Developers
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
All Things Open
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
Melania Andrisan (Danciu)
 
AngularJS App In Two Weeks
AngularJS App In Two WeeksAngularJS App In Two Weeks
AngularJS App In Two Weeks
Peter Chittum
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
Luciano Amodio
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
SAP Cloud Platform
 

Similar to Pwa, separating the features from the solutions (20)

Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopware
 
Progressive Web Apps - deep dive
Progressive Web Apps - deep diveProgressive Web Apps - deep dive
Progressive Web Apps - deep dive
 
Acquia Platform Update: New Features and Capabilities
Acquia Platform Update: New Features and CapabilitiesAcquia Platform Update: New Features and Capabilities
Acquia Platform Update: New Features and Capabilities
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Arquitectura MVVM para la construcción de aplicaciones Windows Store
Arquitectura MVVM para la construcción de aplicaciones Windows StoreArquitectura MVVM para la construcción de aplicaciones Windows Store
Arquitectura MVVM para la construcción de aplicaciones Windows Store
 
Going web native
Going web nativeGoing web native
Going web native
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Crash Course in AngularJS + Ionic (Deep dive)
Crash Course in AngularJS + Ionic (Deep dive)Crash Course in AngularJS + Ionic (Deep dive)
Crash Course in AngularJS + Ionic (Deep dive)
 
Share point 2013: introduction, features, and roles
Share point 2013: introduction, features, and rolesShare point 2013: introduction, features, and roles
Share point 2013: introduction, features, and roles
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With DeadlinesJBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
JBUG 11 - Django-The Web Framework For Perfectionists With Deadlines
 
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websites
 
Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015 Vaadin Designer (Labs release) @ GWT.create 2015
Vaadin Designer (Labs release) @ GWT.create 2015
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017Serverless Single Page Apps with React and Redux at ItCamp 2017
Serverless Single Page Apps with React and Redux at ItCamp 2017
 
AngularJS App In Two Weeks
AngularJS App In Two WeeksAngularJS App In Two Weeks
AngularJS App In Two Weeks
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 

More from Sander Mangel

Shopware PWA - a technical overview of
Shopware PWA - a technical overview ofShopware PWA - a technical overview of
Shopware PWA - a technical overview of
Sander Mangel
 
Quality Assurance at every step of a Magento project
Quality Assurance at every step of a Magento projectQuality Assurance at every step of a Magento project
Quality Assurance at every step of a Magento project
Sander Mangel
 
PWA 101, what you need to know about ShopwarePWA
PWA 101, what you need to know about ShopwarePWAPWA 101, what you need to know about ShopwarePWA
PWA 101, what you need to know about ShopwarePWA
Sander Mangel
 
Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017
Sander Mangel
 
Headless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in MagentoHeadless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in Magento
Sander Mangel
 
Van Magento 1 naar 2
Van Magento 1 naar 2Van Magento 1 naar 2
Van Magento 1 naar 2
Sander Mangel
 
Layered Landing
Layered LandingLayered Landing
Layered Landing
Sander Mangel
 
Scaling an eCommerce environment
Scaling an eCommerce environmentScaling an eCommerce environment
Scaling an eCommerce environment
Sander Mangel
 
Migrating to Magento 2 - As a Merchant
Migrating to Magento 2 - As a MerchantMigrating to Magento 2 - As a Merchant
Migrating to Magento 2 - As a Merchant
Sander Mangel
 

More from Sander Mangel (9)

Shopware PWA - a technical overview of
Shopware PWA - a technical overview ofShopware PWA - a technical overview of
Shopware PWA - a technical overview of
 
Quality Assurance at every step of a Magento project
Quality Assurance at every step of a Magento projectQuality Assurance at every step of a Magento project
Quality Assurance at every step of a Magento project
 
PWA 101, what you need to know about ShopwarePWA
PWA 101, what you need to know about ShopwarePWAPWA 101, what you need to know about ShopwarePWA
PWA 101, what you need to know about ShopwarePWA
 
Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017Headless Magento - Meet Magento Poland 2017
Headless Magento - Meet Magento Poland 2017
 
Headless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in MagentoHeadless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in Magento
 
Van Magento 1 naar 2
Van Magento 1 naar 2Van Magento 1 naar 2
Van Magento 1 naar 2
 
Layered Landing
Layered LandingLayered Landing
Layered Landing
 
Scaling an eCommerce environment
Scaling an eCommerce environmentScaling an eCommerce environment
Scaling an eCommerce environment
 
Migrating to Magento 2 - As a Merchant
Migrating to Magento 2 - As a MerchantMigrating to Magento 2 - As a Merchant
Migrating to Magento 2 - As a Merchant
 

Recently uploaded

Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 

Recently uploaded (20)

Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 

Pwa, separating the features from the solutions

  • 1. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 2. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 3. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 4. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 5. ● ● ● ● PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 6. I had been angling for a way to make web apps first-class citizens since the Chrome Apps era. in London in ~'12-'13, Jake Archibald and Alex started working on Service Workers. The other piece of the plan was a small manifest file. Marcos from Mozilla was working on the manifest format and we joined him there. Jeff Burtoft from MSFT was angling for something very similar within the constraints of UWP - Alex Russell PWA, Separating features and solutions @sandermangelsander@vuestorefront.io " "
  • 7. 2012 -W ork startson Service W orkers PWA, Separating features and solutions @sandermangelsander@vuestorefront.io 2013 -m anifest.json 2015 (June)-PW A term coined 2015 (A pril)-Introduced in Chrom e 42 2015 -FirstPW A:airhorner.com 2015 (O ct)-Flipcart.com launched 2017 -W ebAPK & D esktop PW A 2018 (M ay)-VSF 1.0 islaunched 2017 (D ec)-W orksstartson PW A Studio 2017 (A ug)-W ork startson VSF
  • 8. Offline Enabled PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Secure Installable Discoverable Native functionalities Progressive Async processes
  • 9. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Javascript App Misc sources What Might We Find In Your Average Setup Ecommerce Backend Middleware Indexed Storage Static CacheDirect API calls
  • 10. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 11. "So technically, you could use like, _any_ of them to build a PWA all these frameworks now ship with the things you'd need, for the most part Routing, Server-Side Rendering, Bundling" PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 12. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io For the Javascript Fans. Pure implementations and a frontrunner when it comes to implementing new patterns. Offers simple and clean solutions. Slightly easier to get into as a backend developer. It focuses on offering easy solutions such as templates. Much of the complexity is hidden. More Enterprise-y offering an MVC like framework to quickly develop applications with more standard views and functionalities.
  • 13. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 14. - Some LINK tags in the head of your HTML page <link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16"> <link rel="apple-touch-icon" href="apple-touch-icon.png"> <link rel="manifest" href="manifest.json"> - Generate your Manifest https://app-manifest.firebaseapp.com/ - Add an SSL certificate https://letsencrypt.org/ PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 15. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io DONE!
  • 16. Offline Enabled PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Secure ✔ Installable ✔ Discoverable ✔ Native functionalities Progressive Async processes
  • 17. - Single Page Application PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 18. - Single Page Application - Makes caching easier - Offers a client side application - Works offline* PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 19. - Single Page Application - Makes caching easier - Offers a client side application - Works offline* - Native Functionalities PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 20. - Single Page Application - Makes caching easier - Offers a client side application - Works offline* - Native Functionalities - Service Workers PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 21. Offline Enabled ✔ PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Secure ✔ Installable ✔ Discoverable ✔ Native functionalities ✔ Progressive Async processes ✔
  • 22. - At best a fully functional application, at worst a responsive website - Webpack + Babel provides backwards compatibility - Older browsers will lack features such as Service Workers - Always think about Graceful Degradation - Caniuse(.com) can tell you what features a clients browser offers PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 23. Offline Enabled ✔ PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Secure ✔ Installable ✔ Discoverable ✔ Native functionalities ✔ Progressive ✔ Async processes ✔
  • 24. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 25. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 26. self.addEventListener( 'install', event => { event.waitUntil( caches.open( 'my-awesome-pwa' ) .then(cache => { return cache.addAll([ '/', 'assets/mylogo.png' , 'assets/offline.html' ]); }) ); }); service-worker.js
  • 27. navigator.serviceWorker.register( '/service-worker.js' ) .then(function(registration) { console.log('Service Worker registered for scope: ' , registration.scope); }) .catch(function(error) { console.log('Service Worker registration failed:' , error); });
  • 28. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 30. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 31. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 32. - SEO - Faster Rendering - Faster Downloading PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 33. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Each request hits the server that then renders the page. This can of course be cached Pages are prebuilt during a deploy process and stored on disk. For static content a page is written as a static HTML file and stored on the server
  • 34. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 35. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io HTML file Evolution Of Serving Content Browser Static (1990) Dynamic Language Browser Dynamic (1993) HTML file Dynamic Language Browser Headless (~2000) API layer Consuming App
  • 36. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Evolution Of Serving Content Dynamic Language Browser Decoupled API layer Consuming App Decoupled
  • 37. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Evolution Of Serving Content Dynamic Language Desktop Headless API layer Client 1 Mobile Smart watch Client 2 POS Client 3
  • 38. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Evolution Of Serving Content Dynamic Language Desktop Headless & Platform Agnostic API layer Client 1 Mobile Smart watch Client 2 POS Client 3 Completely different source API layer Upstream data set
  • 39. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io To Add Cache Dynamic Language Browser API layer Consuming App HERE HERE AND HERE
  • 40. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io To Swap Out Elements Dynamic Language Browser API layer Consuming App THIS THIS OR THIS
  • 41. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 42. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 43. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 44. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 45. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Allows for easier chaining Hydrates objects in the IDE Powerful caching with Apollo Comes out-of-the-box with most platforms / solutions Easy to implement Easy to cache Just… Why… ?
  • 46. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 47. ✔ The API's cover functionalities we need such as "add to cart" or "login" Think about common actions around webshops. ✔ Data currently on the frontend is exposed via API. Pay extra attention to 3rd party modules. ✔ There is some form of caching on the API endpoints. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 48. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 49. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Light-weight and multithreaded One language for Frontend and Backend Offers the right features
  • 50. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Light-weight and multithreaded One language for Frontend and Backend Offers the right features Especially in the latest versions it's very performant Knowledge already in house Has the features needed
  • 51. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Light-weight and multithreaded One language for Frontend and Backend Offers the right features Especially in the latest versions it's very performant Knowledge already in house Has the features needed Offers routing, APIs, light-weight
  • 52. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 53. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 54. ✔ There is a benefit by isolating the backend from the frontend. ✔ There is a clear owner for the middleware. ✔ We know how to properly host this application. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 55. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 56. ✔ Takes care of the basics such as routing, implement service workers and integrations with backends. ✔ Gives a canvas on which developers can innovate. ✔ Offers documentation, a community and services around it. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io
  • 57. PWA, Separating features and solutions @sandermangelsander@vuestorefront.io Get familiar with all the components making up a PWA Headless provides flexibility and performance but check API coverage Pick the solution that fits best to project needs & team
  • 59. ✔ Usually can be found around the coffee table ✔ Doesn't bite ✔ Loves to talk about: PWA, Travel, Plants, Your hometown and/or hobbies PWA, Separating features and solutions @sandermangelsander@vuestorefront.io