SlideShare a Scribd company logo
Venia Concept
Magento PWA-Studio
Piotr Makowski
Agenda
• Venia Concept - widok aplikacji
• Instalacja PWA-Studio oraz Venia sample data
• Development & Production
• PWA-Studio Packages
• Venia Concept - stack technologiczny
• Podsumowanie
Venia Concept

- widok aplikacji
Venia Concept
Homepage - widok podstawowy
Venia Concept
Nawigacja i koszyk
Venia Concept
User area I Checkout
Venia Concept
Kategoria i wyszukiwarka
Venia Concept
Produkt
Instalacja PWA-Studio

oraz Venia sample data
Instalacja
•Magento 2.3 -
backend aplikacji
•Node.js
•npm client Yarn
Venia Sample Data
•packages/venia-concept/
deployVeniaSampleData.sh

cp magento root_dir
•auth.json - Magento/Git
tokens
•composer.json - composer
update
•setup:upgrade &
indexer:reindex
Development &
Production
Development
cp .env.dist .env
Development
pwa-studio/yarn run build && watch:venia
Production
ZEIT - NOW
Now-ZEIT serverless SASS Cloud
Production
Now CLI - NOW Login - Now
PWA-Studio Packages
@magento/UPWARD &
UPWARD-Spec
• UPWARD - Unified Progressive
Web App Response Definitions
• venia-upward.yml - definiuje
zmienne serwera dla dev i
production
• Zawiera schemat odpowiedzi
oraz templates dla typów
zapytań (CMS_PAGE, PRODUCT,
CATEGORY, NOTFOUND, etc.)
@magento/Peregrine
•<ROUTER /> wrapper
dla React-router -
renderuje odpowiedni
root komponent dla
zadanego URL
•<ContainerChild />
•<List />, <Price />
@magento/PWA-Buildpack
•Webpack Bulider dla PWA-Studio
środowiska developerskiego oraz
produkcyjnego
•MagentoRootComponentsPlugin -
interpretuje zadany URL i emituje
RootComponent (js chunk) typu
CMS_PAGE, CATALOG lub PRODUCT
•magento-layout-loader -
modyfikowanie/aktualizacja layoutu
•MagentoResolver - magento assets
resolver
@magento/Venia-Concept
•Aplikacja oparta o React i
Redux - posiada własny stan
•Może stanowić package
pozwalający na
konsumowanie swoich
komponentów w innych
aplikacjach
•Rejestruje sw.js i pozwala
na opracowanie strategii
service-workers
Venia Concept 

- stack technologiczny
Aplikacja React
•React - bazowa biblioteka
komponentów
•PropTypes - do określania
typów przekazywanych
props do komponentów
•Classify (CSS modules) -
wrapper dla komponentu
dostarczający arkusz

styli CSS
Redux
•Actions- akcje
przekazywane do
komponentów (redux
thunk)
•Reducers - wywoływane z
każdą akcją - odnawiają
stan aplikacji
•Redux compose - wrapper
(HOC) wiążący akcje i dane
stanu do komponentów
GraphQL
•Apollo-client - jako
middleware do
przekazywania query dla
graphQL
•Apollo Cache
(InMemoryCache) - cache
dla queries
•/queries - predefiniowane
zapytania graphQL
RootComponents
•Root Components - powiązane
bezpośrednio z @magento/
peregrine MagentoRouteHandler
•Routing przekazuje informację
do Magento o adresie URL i
wywołuje odpowiedni typ Root
komponentu - CMS_PAGE,
CATEGORY lub PRODUCT
•Magento - przekazuje informację
zwrotną z ID dla Root
Componentu (np. id produktu)
Components
•React components -
pozostałe komponenty
react będące
składowymi aplikacji
Podsumowanie
•Czy PWA-Studio jest gotowe i jest dobrym
wyborem?
•Czy PWA-Studio posiada komercyjne wdrożenia?
04/03/2019
inchoopwa.com - pierwsze komercyjne wdrożenie PWA-
studio
Dziękuje za uwagę

More Related Content

What's hot

GCP & Wordpress
GCP & WordpressGCP & Wordpress
GCP & Wordpress
Fly on the cloud
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
The Software House
 
Lokalny development z kubernetes
Lokalny development z kubernetesLokalny development z kubernetes
Lokalny development z kubernetes
Piotr Mińkowski
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
The Software House
 
Azure Site Recovery
Azure Site RecoveryAzure Site Recovery
Azure Site Recovery
Lukasz Kaluzny
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/Redux
Dawid Rusnak
 
Wirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktop
Wirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktopWirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktop
Wirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktop
Pawel Serwan
 
Migracja xa 6.5 7.6
Migracja xa 6.5 7.6Migracja xa 6.5 7.6
Migracja xa 6.5 7.6
Pawel Serwan
 

What's hot (8)

GCP & Wordpress
GCP & WordpressGCP & Wordpress
GCP & Wordpress
 
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
“Dziesięć serwerów poproszę!“, czyli co może Ci zaoferować definiowanie infra...
 
Lokalny development z kubernetes
Lokalny development z kubernetesLokalny development z kubernetes
Lokalny development z kubernetes
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
 
Azure Site Recovery
Azure Site RecoveryAzure Site Recovery
Azure Site Recovery
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/Redux
 
Wirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktop
Wirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktopWirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktop
Wirtualizacji ciąg dalszy czyli po co karta v gpu w xenapp xendesktop
 
Migracja xa 6.5 7.6
Migracja xa 6.5 7.6Migracja xa 6.5 7.6
Migracja xa 6.5 7.6
 

Similar to Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA

Webpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótka
Webpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótkaWebpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótka
Webpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótka
Marcin Gajda
 
Platforma Kontentowa
Platforma KontentowaPlatforma Kontentowa
Platforma Kontentowa
Rafał Filipek
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
Mariusz Nowak
 
Wdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest Trudne
Wdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest TrudneWdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest Trudne
Wdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest Trudne
flexray
 
Środowisko testowe pod REST-a
Środowisko testowe pod REST-aŚrodowisko testowe pod REST-a
Środowisko testowe pod REST-a
Future Processing
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
Wojciech Kaniuka
 
university day 1
university day 1university day 1
university day 1
Sławomir Borowiec
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Lukasz Kaluzny
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
Sages
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
Tomasz Dziuda
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
Future Processing
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Quick-Solution
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
Alicja Sieminska
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
Dariusz Jagieło
 
ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?
Michał Dudak
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Mateusz Paprocki, PMP
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PROIDEA
 
Budowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startBudowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki start
Sages
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztaty
intive
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]
Droptica
 

Similar to Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA (20)

Webpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótka
Webpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótkaWebpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótka
Webpack - Czym jest webpack i dlaczego chcesz go używać? - wersja krótka
 
Platforma Kontentowa
Platforma KontentowaPlatforma Kontentowa
Platforma Kontentowa
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Wdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest Trudne
Wdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest TrudneWdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest Trudne
Wdrozenie Chmury W Oparciu O VMware vCloud Suite W Polsce Nie Jest Trudne
 
Środowisko testowe pod REST-a
Środowisko testowe pod REST-aŚrodowisko testowe pod REST-a
Środowisko testowe pod REST-a
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
university day 1
university day 1university day 1
university day 1
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
 
Angular 4 pragmatycznie
Angular 4 pragmatycznieAngular 4 pragmatycznie
Angular 4 pragmatycznie
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 
Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.Automatyczne testy end-to-end aplikacji JavaScript.
Automatyczne testy end-to-end aplikacji JavaScript.
 
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVCWzorce Repository, Unity of Work, Devexpress MVC  w architekturze Asp.net MVC
Wzorce Repository, Unity of Work, Devexpress MVC w architekturze Asp.net MVC
 
Budowanie sieci Grid
Budowanie sieci GridBudowanie sieci Grid
Budowanie sieci Grid
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?ITAD BB 2014 - ASP.NET 5 - What's new?
ITAD BB 2014 - ASP.NET 5 - What's new?
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
Budowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startBudowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki start
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztaty
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]
 

Magento Meetup Wrocław 6. "Venia Storefront Concept", Piotr Makowski VIRTUA