SlideShare a Scribd company logo
Magento Meetup Ahmedabad
Introduction to PWA Studio
Vijay Golani
Magento Master, Magento U Trainer
VP of Development at Wagento
Magento Meetup Ahmedabad
Overview of PWA
Magento Meetup Ahmedabad
High Level Headless / Omnichannel Architecture
ERP OMS PIM CRM CMS
API Layer
Storefront Technology
Store PWA
Online
Assistant
AR / VR Voice Mobile
Magento Meetup Ahmedabad
“A progressive web app, or PWA, is a web application that uses modern web technologies
and design patterns to provide a reliable, fast and engaging user experience.”
What Is PWA?
Reliable Responsive Secure Engaging
Magento Meetup Ahmedabad
PWA Benefits
Service Hosted Web Application - Progressive Web App
ü Fast
ü Secure
ü Responsive
ü Cross-browser
ü Offline mode
ü Mobile “install”
ü Shareable
https://www.youtube.com/watch?v=m-sCdS0sQO8&feature=youtu.be
Magento Meetup Ahmedabad
Benefits of Choosing PWA
ØAffordable
ØNo install headaches
ØIndexability on the web
ØPush notifications
ØSingle codebase for all platforms
Magento Meetup Ahmedabad
PWA: One App, Every Platform
Mobile
Tablet
DesktopiOS App
Android
App
PWA
Magento Meetup Ahmedabad
PWA Concerns
§ Still a new technology
§ Limited hardware device access
§ Does not work with other native apps
§ Possible battery life issues
Magento Meetup Ahmedabad
Let’s Compare
Capabilities PWA Native Responsive
Mobile Friendly ✓ ✓ ✓
Installable ✓ ✓ X
SEO-Indexed ✓ X ✓
Offline Mode ✓ ✓ X
Push
Notifications
✓ ✓ X
GPS Enabled ✓ ✓ X
Magento Meetup Ahmedabad
Top 5 Business Benefits
ü Low cost
ü Push notification
ü Website that works offline
ü Single codebase
ü Easy payments and checkout
Magento Meetup Ahmedabad
Who Uses PWAs?
Source: https://www.pwastats.com/tags/e-commerce
FlipKart (India)
3x more time spent on site
Lancôme
17% increase in conversions
West Elm
9% increase in revenue per visit
Magento Meetup Ahmedabad
PWA Studio
Magento Meetup Ahmedabad
“The Magento PWA Studio project is a set of developer tools that allow for the development,
deployment, and maintenance of a PWA storefront on top of Magento 2.
It uses modern tools and libraries to create a build system and framework that adheres to the
Magento principle of extensibility.”
What Is PWA Studio?
Magento Meetup Ahmedabad
PWA Studio Flow Diagram
JS Server
Buildpack
React
Application
PWA Studio
Storefront
MAGENTO PWA STUDIO
Magento Meetup Ahmedabad
PWA Studio Architecture
Magento
Backend
Magento API
Magento
PWA Studio
Browser
Technologies
Magento Meetup Ahmedabad
PWA Studio Architecture
Magento
Backend
Magento API
Magento
PWA Studio
Browser
Technologies
Magento Meetup Ahmedabad
PWA Studio Architecture
Magento
Backend
Magento API
Magento
PWA Studio
Browser
Technologies
PHP JS React Redux Node.js Apollo Webpack Workbox
Upward Technologies Peregrine Technologies
Magento Meetup Ahmedabad
PWA Studio Architecture
Magento
Backend
Magento API
Magento
PWA Studio
Browser
Technologies
Service Worker Web App Manifest HTTPS Application Cache
Magento Meetup Ahmedabad
PWA Studio Project Repository
The pwa-studio repository is also a monorepo that
contains all listed PWA Studio projects
babel-preset-plugin
create-pwa
graphql-cli-validate-magento-pwa-queries
peregrine
pwa-buildpack
pwa-devdocs
upward-js
upward-spec
venia-concept
venia-styleguide
venia-ui
https://github.com/magento/pwa-studio
Magento Meetup Ahmedabad
Separation of the Frontend
PWA Storefront Traditional Magento
Frontend and backend code separated Themes developed within the core Magento
application
All data retrieved via API calls Extensions applied directly to core application can
impact theme
No frontend logic developed in Magento
backend
Tight coupling between frontend and backend
Frontend can be developed and deployed
independently to Magento
Magento Meetup Ahmedabad
Separation of the Frontend
PWA Store 1 PWA Store 2
Blank Theme
Luma
Theme
Catalog Sales Customers
Catalog Sales Customers
GraphQL
Traditional Magento Magento with PWA Storefront
Magento Meetup Ahmedabad
General skills needed for PWA storefront development
SKILL DESCRIPTION
JavaScript (JS) Core web language
React A JS library for building user interfaces
Redux A JS library for handling application state
GraphQL An API query language
webpack Project assets bundler
Cascading Style Sheets (CSS) Defines the style for a websites
CSS modules Locally scoped style definitions
JavaScript Object Notation (JSON) Data-interchange format
Peregrine React components library provided by the PWA Studio
Yarn JS package and dependency manager
Magento Meetup Ahmedabad
PWA Performance Tips & Examples
§ Required steps before the launch of your PWA
§ Baseline for load time
Magento Meetup Ahmedabad
The PWA Baseline Checklist
Service hosted web application - Progressive Web App
ü Uses HTTPS
ü Responsive
ü Loads offline
ü Add to home screen
ü Cross browser
ü Transitions
ü URL on each page
https://developers.google.com/web/progressive-web-apps/checklist
Magento Meetup Ahmedabad
Testing PWA Performance
Two recommended tools for testing performance
https://webpagetest.org/ Google Lighthouse
Magento Meetup Ahmedabad
Running the Test
Generate a report
using Google
Lighthouse
Magento Meetup Ahmedabad
Using WebPageTest
Generate a
report using
WebPageTest
Magento Meetup Ahmedabad
Using WebPageTest
Magento Meetup Ahmedabad
Getting Started with PWA Studio
§ Initial project setup
§ Generate local SSL certificate
Magento Meetup Ahmedabad
Prerequisites
ü NodeJS minimum 10.14.1 LTS
ü Yarn minimum 1.13.0
ü Python 2.7 and build tools
ü OPTIONAL: Running instance of Magento 2.3.1 or above
Magento Meetup Ahmedabad
Starting a PWA Studio Project – The Old Way
q Cloning the official repository
$ git clone git@github.com:magento/pwa-studio.git
Magento Meetup Ahmedabad
Starting a PWA Studio Project – The New Way
q To use the PWA Studio scaffolding, run the following command
$ npx @magento/create-pwa
Magento Meetup Ahmedabad
q After running the command, answer these questions:
PWA Studio Scaffolding – System Generated Questions
? Where to put the project root directory (will be created if it does not exist)
? Short name of the project to put in the package.json "name" field
? Name of the author to put in the package.json "author" field
? Magento instance to use as a backend (will be added to .env file)
? Braintree API token to use to communicate with your Braintree instance
(will be added to .env file)
? NPM package management client to use
? Install package dependencies with yarn after creating project
Magento Meetup Ahmedabad
PWA Studio Scaffolding – Next Steps
After the command runs, you see these suggestions to execute the project
q cd <project_folder> && yarn install before running the following
commands
q yarn run buildpack create-custom-origin . to generate a unique,
secure custom domain for your new project
q yarn run watch to start the dev server and do real-time development
q yarn run build to build the project into optimized assets in the '/dist' directory
q yarn start after build to preview the app on a local staging server
Magento Meetup Ahmedabad
Why Do We Need to Have a Valid SSL Certificate?
Ø PWA uses some features that run in the background on the user's browser
Ø For security reasons, use an HTTPS connection
Magento Meetup Ahmedabad
create-custom-origin Command
q After creating new project, generate valid SSL certificate for PWA Studio
$ yarn run buildpack create-custom-origin <project_folder>
Magento Meetup Ahmedabad
All Done!
● With domain and certificate configured, start your project:
$ yarn run watch
Magento Meetup Ahmedabad
Useful Resources to learn more about PWA Studio
• DEMO URL: https://venia.magento.com/
• https://magento.github.io/
• https://u.magento.com/pwa-learning-resources
• https://github.com/magento/pwa-studio
Magento Meetup Ahmedabad
39
https://hopin.to/events/maconnect
Magento Meetup Ahmedabad
Non Technical Events
On International Day of Yoga – 21st June
https://www.bigdamrun.com/http://mage.yoga/
Magento Meetup Ahmedabad
Vijay Golani
vijay@wagento.com
Twitter: @vijaygolani
LinkedIn: /in/vijaygolani
Questions ???

More Related Content

What's hot

Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web App
Sankalp Khandelwal
 
Magento PWA Studio extensibility
Magento PWA Studio extensibilityMagento PWA Studio extensibility
Magento PWA Studio extensibility
Lars Roettig
 
Magento Cloud - Introduction
Magento Cloud - IntroductionMagento Cloud - Introduction
Magento Cloud - Introduction
Oleg Posyniak
 
Progressive web app
Progressive web appProgressive web app
Progressive web app
Deepak Upadhyay
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
Thinh VoXuan
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
Muhamad Fahriza Novriansyah
 
An Intro into webpack
An Intro into webpackAn Intro into webpack
An Intro into webpack
Squash Apps Pvt Ltd
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nitheesh T Ganesh
 
PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web App
Robert Robinson
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Subodh Garg
 
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Aleyda Solís
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA
Pramendra Gupta
 
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
NexThoughts Technologies
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)
Peter Thomas
 
NATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDENATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDE
TekRevol LLC
 
React vs angular what to choose for your app
React vs angular what to choose for your appReact vs angular what to choose for your app
React vs angular what to choose for your app
Concetto Labs
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
Amazon Web Services
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Jayant Surana
 
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
Sandip Nirmal
 

What's hot (20)

Introduction of Progressive Web App
Introduction of Progressive Web AppIntroduction of Progressive Web App
Introduction of Progressive Web App
 
Magento PWA Studio extensibility
Magento PWA Studio extensibilityMagento PWA Studio extensibility
Magento PWA Studio extensibility
 
Magento Cloud - Introduction
Magento Cloud - IntroductionMagento Cloud - Introduction
Magento Cloud - Introduction
 
Progressive web app
Progressive web appProgressive web app
Progressive web app
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
An Intro into webpack
An Intro into webpackAn Intro into webpack
An Intro into webpack
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web App
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
Progressive Web Apps (PWAs): Why you want one & how to optimize them #Applaus...
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA
 
Progressive Web-App (PWA)
Progressive Web-App (PWA)Progressive Web-App (PWA)
Progressive Web-App (PWA)
 
API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)API Test Automation Using Karate (Anil Kumar Moka)
API Test Automation Using Karate (Anil Kumar Moka)
 
NATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDENATIVE VS PWA APPS – A COMPLETE GUIDE
NATIVE VS PWA APPS – A COMPLETE GUIDE
 
React vs angular what to choose for your app
React vs angular what to choose for your appReact vs angular what to choose for your app
React vs angular what to choose for your app
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQL
 
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
 

Similar to Introduction to PWA Studio by Vijay Golani

PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
Bhavesh Surani
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
Anand Bagmar
 
[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
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 
Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020
Devathon
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Allison Clemens
 
Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopware
Sander Mangel
 
Building your own calendly using amazon app sync
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app sync
Dhaval Nagar
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
Akshay Sharma
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
Tahir Akram
 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
Jamund Ferguson
 
Progressive web application considerations before implementing magento pwa ...
Progressive web application   considerations before implementing magento pwa ...Progressive web application   considerations before implementing magento pwa ...
Progressive web application considerations before implementing magento pwa ...
CedCommerce
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
Lakshman Prasad
 
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptxHow to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
BOSC Tech Labs
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development
codecraftcrew
 
Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa
Divante
 
QCObjects 2020 Overview
QCObjects 2020 OverviewQCObjects 2020 Overview
QCObjects 2020 Overview
Jean Machuca
 
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOps
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOpsJSNation.com - Azure Static Web Apps (SWA) with Azure DevOps
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOps
Juarez Junior
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
Praveen Hanchinal
 
AMP in WordPress, the WordPress Way
AMP in WordPress, the WordPress WayAMP in WordPress, the WordPress Way
AMP in WordPress, the WordPress Way
Alberto Medina
 

Similar to Introduction to PWA Studio by Vijay Golani (20)

PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
PWA - The Future of eCommerce - Magento Meetup Ahmedabad 2018
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
[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
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
 
Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020Top 10 PWA Frameworks in 2020
Top 10 PWA Frameworks in 2020
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Exploring pwa for shopware
Exploring pwa for shopwareExploring pwa for shopware
Exploring pwa for shopware
 
Building your own calendly using amazon app sync
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app sync
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
 
Progressive web application considerations before implementing magento pwa ...
Progressive web application   considerations before implementing magento pwa ...Progressive web application   considerations before implementing magento pwa ...
Progressive web application considerations before implementing magento pwa ...
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptxHow to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
 
9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development9 Best Tools to Leverage for Progressive Web App Development
9 Best Tools to Leverage for Progressive Web App Development
 
Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa Game changer for e-commerce - Vue Storefront - open source pwa
Game changer for e-commerce - Vue Storefront - open source pwa
 
QCObjects 2020 Overview
QCObjects 2020 OverviewQCObjects 2020 Overview
QCObjects 2020 Overview
 
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOps
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOpsJSNation.com - Azure Static Web Apps (SWA) with Azure DevOps
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOps
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
AMP in WordPress, the WordPress Way
AMP in WordPress, the WordPress WayAMP in WordPress, the WordPress Way
AMP in WordPress, the WordPress Way
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Introduction to PWA Studio by Vijay Golani

  • 1. Magento Meetup Ahmedabad Introduction to PWA Studio Vijay Golani Magento Master, Magento U Trainer VP of Development at Wagento
  • 3. Magento Meetup Ahmedabad High Level Headless / Omnichannel Architecture ERP OMS PIM CRM CMS API Layer Storefront Technology Store PWA Online Assistant AR / VR Voice Mobile
  • 4. Magento Meetup Ahmedabad “A progressive web app, or PWA, is a web application that uses modern web technologies and design patterns to provide a reliable, fast and engaging user experience.” What Is PWA? Reliable Responsive Secure Engaging
  • 5. Magento Meetup Ahmedabad PWA Benefits Service Hosted Web Application - Progressive Web App ü Fast ü Secure ü Responsive ü Cross-browser ü Offline mode ü Mobile “install” ü Shareable https://www.youtube.com/watch?v=m-sCdS0sQO8&feature=youtu.be
  • 6. Magento Meetup Ahmedabad Benefits of Choosing PWA ØAffordable ØNo install headaches ØIndexability on the web ØPush notifications ØSingle codebase for all platforms
  • 7. Magento Meetup Ahmedabad PWA: One App, Every Platform Mobile Tablet DesktopiOS App Android App PWA
  • 8. Magento Meetup Ahmedabad PWA Concerns § Still a new technology § Limited hardware device access § Does not work with other native apps § Possible battery life issues
  • 9. Magento Meetup Ahmedabad Let’s Compare Capabilities PWA Native Responsive Mobile Friendly ✓ ✓ ✓ Installable ✓ ✓ X SEO-Indexed ✓ X ✓ Offline Mode ✓ ✓ X Push Notifications ✓ ✓ X GPS Enabled ✓ ✓ X
  • 10. Magento Meetup Ahmedabad Top 5 Business Benefits ü Low cost ü Push notification ü Website that works offline ü Single codebase ü Easy payments and checkout
  • 11. Magento Meetup Ahmedabad Who Uses PWAs? Source: https://www.pwastats.com/tags/e-commerce FlipKart (India) 3x more time spent on site Lancôme 17% increase in conversions West Elm 9% increase in revenue per visit
  • 13. Magento Meetup Ahmedabad “The Magento PWA Studio project is a set of developer tools that allow for the development, deployment, and maintenance of a PWA storefront on top of Magento 2. It uses modern tools and libraries to create a build system and framework that adheres to the Magento principle of extensibility.” What Is PWA Studio?
  • 14. Magento Meetup Ahmedabad PWA Studio Flow Diagram JS Server Buildpack React Application PWA Studio Storefront MAGENTO PWA STUDIO
  • 15. Magento Meetup Ahmedabad PWA Studio Architecture Magento Backend Magento API Magento PWA Studio Browser Technologies
  • 16. Magento Meetup Ahmedabad PWA Studio Architecture Magento Backend Magento API Magento PWA Studio Browser Technologies
  • 17. Magento Meetup Ahmedabad PWA Studio Architecture Magento Backend Magento API Magento PWA Studio Browser Technologies PHP JS React Redux Node.js Apollo Webpack Workbox Upward Technologies Peregrine Technologies
  • 18. Magento Meetup Ahmedabad PWA Studio Architecture Magento Backend Magento API Magento PWA Studio Browser Technologies Service Worker Web App Manifest HTTPS Application Cache
  • 19. Magento Meetup Ahmedabad PWA Studio Project Repository The pwa-studio repository is also a monorepo that contains all listed PWA Studio projects babel-preset-plugin create-pwa graphql-cli-validate-magento-pwa-queries peregrine pwa-buildpack pwa-devdocs upward-js upward-spec venia-concept venia-styleguide venia-ui https://github.com/magento/pwa-studio
  • 20. Magento Meetup Ahmedabad Separation of the Frontend PWA Storefront Traditional Magento Frontend and backend code separated Themes developed within the core Magento application All data retrieved via API calls Extensions applied directly to core application can impact theme No frontend logic developed in Magento backend Tight coupling between frontend and backend Frontend can be developed and deployed independently to Magento
  • 21. Magento Meetup Ahmedabad Separation of the Frontend PWA Store 1 PWA Store 2 Blank Theme Luma Theme Catalog Sales Customers Catalog Sales Customers GraphQL Traditional Magento Magento with PWA Storefront
  • 22. Magento Meetup Ahmedabad General skills needed for PWA storefront development SKILL DESCRIPTION JavaScript (JS) Core web language React A JS library for building user interfaces Redux A JS library for handling application state GraphQL An API query language webpack Project assets bundler Cascading Style Sheets (CSS) Defines the style for a websites CSS modules Locally scoped style definitions JavaScript Object Notation (JSON) Data-interchange format Peregrine React components library provided by the PWA Studio Yarn JS package and dependency manager
  • 23. Magento Meetup Ahmedabad PWA Performance Tips & Examples § Required steps before the launch of your PWA § Baseline for load time
  • 24. Magento Meetup Ahmedabad The PWA Baseline Checklist Service hosted web application - Progressive Web App ü Uses HTTPS ü Responsive ü Loads offline ü Add to home screen ü Cross browser ü Transitions ü URL on each page https://developers.google.com/web/progressive-web-apps/checklist
  • 25. Magento Meetup Ahmedabad Testing PWA Performance Two recommended tools for testing performance https://webpagetest.org/ Google Lighthouse
  • 26. Magento Meetup Ahmedabad Running the Test Generate a report using Google Lighthouse
  • 27. Magento Meetup Ahmedabad Using WebPageTest Generate a report using WebPageTest
  • 29. Magento Meetup Ahmedabad Getting Started with PWA Studio § Initial project setup § Generate local SSL certificate
  • 30. Magento Meetup Ahmedabad Prerequisites ü NodeJS minimum 10.14.1 LTS ü Yarn minimum 1.13.0 ü Python 2.7 and build tools ü OPTIONAL: Running instance of Magento 2.3.1 or above
  • 31. Magento Meetup Ahmedabad Starting a PWA Studio Project – The Old Way q Cloning the official repository $ git clone git@github.com:magento/pwa-studio.git
  • 32. Magento Meetup Ahmedabad Starting a PWA Studio Project – The New Way q To use the PWA Studio scaffolding, run the following command $ npx @magento/create-pwa
  • 33. Magento Meetup Ahmedabad q After running the command, answer these questions: PWA Studio Scaffolding – System Generated Questions ? Where to put the project root directory (will be created if it does not exist) ? Short name of the project to put in the package.json "name" field ? Name of the author to put in the package.json "author" field ? Magento instance to use as a backend (will be added to .env file) ? Braintree API token to use to communicate with your Braintree instance (will be added to .env file) ? NPM package management client to use ? Install package dependencies with yarn after creating project
  • 34. Magento Meetup Ahmedabad PWA Studio Scaffolding – Next Steps After the command runs, you see these suggestions to execute the project q cd <project_folder> && yarn install before running the following commands q yarn run buildpack create-custom-origin . to generate a unique, secure custom domain for your new project q yarn run watch to start the dev server and do real-time development q yarn run build to build the project into optimized assets in the '/dist' directory q yarn start after build to preview the app on a local staging server
  • 35. Magento Meetup Ahmedabad Why Do We Need to Have a Valid SSL Certificate? Ø PWA uses some features that run in the background on the user's browser Ø For security reasons, use an HTTPS connection
  • 36. Magento Meetup Ahmedabad create-custom-origin Command q After creating new project, generate valid SSL certificate for PWA Studio $ yarn run buildpack create-custom-origin <project_folder>
  • 37. Magento Meetup Ahmedabad All Done! ● With domain and certificate configured, start your project: $ yarn run watch
  • 38. Magento Meetup Ahmedabad Useful Resources to learn more about PWA Studio • DEMO URL: https://venia.magento.com/ • https://magento.github.io/ • https://u.magento.com/pwa-learning-resources • https://github.com/magento/pwa-studio
  • 40. Magento Meetup Ahmedabad Non Technical Events On International Day of Yoga – 21st June https://www.bigdamrun.com/http://mage.yoga/
  • 41. Magento Meetup Ahmedabad Vijay Golani vijay@wagento.com Twitter: @vijaygolani LinkedIn: /in/vijaygolani Questions ???