SlideShare a Scribd company logo
Modernizing Vue Storefront 1
Yireo - Modernizing Vue Storefront 1 1 of 14
Jisse Reitsma
Yireo - Modernizing Vue Storefront 1 2 of 14
Jisse Reitsma
Owner of Yireo
Yireo - Modernizing Vue Storefront 1 2 of 14
Jisse Reitsma
Owner of Yireo
Extension developer
Yireo - Modernizing Vue Storefront 1 2 of 14
Jisse Reitsma
Owner of Yireo
Extension developer
Trainer of developers
Yireo - Modernizing Vue Storefront 1 2 of 14
Jisse Reitsma
Owner of Yireo
Extension developer
Trainer of developers
3x Magento Master
Yireo - Modernizing Vue Storefront 1 2 of 14
Jisse Reitsma
Owner of Yireo
Extension developer
Trainer of developers
3x Magento Master
Organizer of Reacticon and MageTestFest
3 times Reacticon
2 times MageTestFest
Yireo - Modernizing Vue Storefront 1 2 of 14
Reacticon 4
Frontend developer conference
Magento Hyva Themes, PWA Studio, Vue Storefront 1
Shopware PWA and other headless alternatives
Discussions, talks, hangouts, fun
June 14th-18th 2021
Free attendance
Slack space
YouTube livestream
See reacticon.org 
Yireo - Modernizing Vue Storefront 1 3 of 14
Vue Storefront 1 On-Demand training
9.5 hours of videos
300+ pages of text
More coming up
Additional topics on VSF1
Also new courses on Magento PWA Studio, VSF Next and more
See yireo.com/vue 
Yireo - Modernizing Vue Storefront 1 4 of 14
What about Vue Storefront Next?
Yireo - Modernizing Vue Storefront 1 5 of 14
What about Vue Storefront Next?
Nuxt.js based
Yireo - Modernizing Vue Storefront 1 5 of 14
What about Vue Storefront Next?
Nuxt.js based
Supported platforms
CommerceTools
Shopify (thanks to Aureate)
Shopware (as Shopware PWA)
...
Yireo - Modernizing Vue Storefront 1 5 of 14
What about Vue Storefront Next?
Nuxt.js based
Supported platforms
CommerceTools
Shopify (thanks to Aureate)
Shopware (as Shopware PWA)
...
No Magento support
Yireo - Modernizing Vue Storefront 1 5 of 14
What about Vue Storefront Next?
Nuxt.js based
Supported platforms
CommerceTools
Shopify (thanks to Aureate)
Shopware (as Shopware PWA)
...
No Magento support
But Vue Storefront 1 is not dead yet
Thanks to Filip Jedrasik
Yireo - Modernizing Vue Storefront 1 5 of 14
Capybara
Yireo - Modernizing Vue Storefront 1 6 of 14
Capybara
Do not use Default Theme
Use Capybara
Yireo - Modernizing Vue Storefront 1 6 of 14
Capybara
Do not use Default Theme
Use Capybara
Do not copy an entire theme
Use parent/child theming
Yireo - Modernizing Vue Storefront 1 6 of 14
Capybara
Do not use Default Theme
Use Capybara
Do not copy an entire theme
Use parent/child theming
Add Storefront UI elements where you want
VSF Next is based on Storefront UI too
Presentational components will keep on working (mostly)
Yireo - Modernizing Vue Storefront 1 6 of 14
Parent & Child theming
Yireo - Modernizing Vue Storefront 1 7 of 14
Parent & Child theming
Do not copy les
Yireo - Modernizing Vue Storefront 1 7 of 14
Parent & Child theming
Do not copy les
Use Webpack!
Yireo - Modernizing Vue Storefront 1 7 of 14
Parent & Child theming
Do not copy les
Use Webpack!
Example: yireo-training/vsf-yireo-theme
Yireo - Modernizing Vue Storefront 1 7 of 14
Parent & Child theming
Do not copy les
Use Webpack!
Example: yireo-training/vsf-yireo-theme
Based on yireo/vsf1-webpack-inheritance-plugin
Yireo - Modernizing Vue Storefront 1 7 of 14
Slow compilation?
Yireo - Modernizing Vue Storefront 1 8 of 14
Slow compilation?
Skip SSR compilation
Yireo - Modernizing Vue Storefront 1 8 of 14
Slow compilation?
Skip SSR compilation
Use Webpack!
Yireo - Modernizing Vue Storefront 1 8 of 14
Slow compilation?
Skip SSR compilation
Use Webpack!
Example: yireo-training/vsf1-local-webpack
Yireo - Modernizing Vue Storefront 1 8 of 14
Override speci c les
Do not hack the core
Use Webpack!
File src/themes/capybara/webpack.config.js
...
const mergedConfig = merge(
{
resolve: {
alias: { 'src/modules/client': `${themeRoot}/config/modules` }
}
},
config,
clientConfig
);
...
Yireo - Modernizing Vue Storefront 1 9 of 14
Stay up to date
VSF1 is still optimized with small releases
Keep an eye on Github repos
Small xes matter
Copy changes manually, cherrypick commits
Do not just patiently wait for a new o cial release
Yireo - Modernizing Vue Storefront 1 10 of 14
Use Storybook
Yireo - Modernizing Vue Storefront 1 11 of 14
Use Storybook
Draft a simple style tile (or mood board or whatever)
Plain Vue app without dynamic behaviour
Add Storefront UI as a Node dependency
Add all HTML / CSS output and make sure it looks good
Yireo - Modernizing Vue Storefront 1 11 of 14
Use Storybook
Draft a simple style tile (or mood board or whatever)
Plain Vue app without dynamic behaviour
Add Storefront UI as a Node dependency
Add all HTML / CSS output and make sure it looks good
Move Vue components into Storybook
Maintain your own UIComponents along-side your VSF project
Yireo - Modernizing Vue Storefront 1 11 of 14
Composition API
Install the Composition API plugin for Vue 2
Add your own composables for logic
Local state
Vuex bindings
GraphQL calls
Yireo - Modernizing Vue Storefront 1 12 of 14
Other considerations
Yireo - Modernizing Vue Storefront 1 13 of 14
Other considerations
A theme is just some HTML and CSS
Use Tailwind, Material, whatever
Yireo - Modernizing Vue Storefront 1 13 of 14
Other considerations
A theme is just some HTML and CSS
Use Tailwind, Material, whatever
Separate logic from output
Presentational vs stateful components
Yireo - Modernizing Vue Storefront 1 13 of 14
Other considerations
A theme is just some HTML and CSS
Use Tailwind, Material, whatever
Separate logic from output
Presentational vs stateful components
Tryout the GraphQL binding
Switch from ElasticSearch to GraphQL (SF Query Builder)
But beware of the performance!
Yireo - Modernizing Vue Storefront 1 13 of 14
Other considerations
A theme is just some HTML and CSS
Use Tailwind, Material, whatever
Separate logic from output
Presentational vs stateful components
Tryout the GraphQL binding
Switch from ElasticSearch to GraphQL (SF Query Builder)
But beware of the performance!
Use the new Storefront API instead of VSF1 API
Some integration of Apollo Server (with GraphQL caching support)
Yireo - Modernizing Vue Storefront 1 13 of 14
Thanks
@jissereitsma
Yireo - Modernizing Vue Storefront 1 14 of 14

More Related Content

Similar to Modernizing Vue Storefront 1

The State of Wicket
The State of WicketThe State of Wicket
The State of Wicket
Martijn Dashorst
 
Mvvm is like born fraction
Mvvm is like born fractionMvvm is like born fraction
Mvvm is like born fraction
Ken Haneda
 
Hyvä from a developer perspective
Hyvä from a developer perspectiveHyvä from a developer perspective
Hyvä from a developer perspective
vinaikopp
 
Angular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfAngular + JHipster - JHipster Conf
Angular + JHipster - JHipster Conf
William Marques
 
Tipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal EizenbergTipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal Eizenberg
Wix Engineering
 
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the ScaleJS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JSFestUA
 
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
Gavin Pickin
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
hchen1
 
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
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
Ortus Solutions, Corp
 
Edmonds Commerce Magento Presentation
Edmonds Commerce Magento PresentationEdmonds Commerce Magento Presentation
Edmonds Commerce Magento Presentation
Edmonds Commerce
 
Lecture 11 - Web components
Lecture 11 - Web componentsLecture 11 - Web components
Lecture 11 - Web components
Bryan Ollendyke
 
What's cool in Apache MyFaces?
What's cool in Apache MyFaces?What's cool in Apache MyFaces?
What's cool in Apache MyFaces?
aliok
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpack
k88hudson
 
Passionate People Meetup - React vs Vue with a deepdive into Proxies
Passionate People Meetup - React vs Vue with a deepdive into ProxiesPassionate People Meetup - React vs Vue with a deepdive into Proxies
Passionate People Meetup - React vs Vue with a deepdive into Proxies
Harijs Deksnis
 
Vuejs for Angular developers
Vuejs for Angular developersVuejs for Angular developers
Vuejs for Angular developers
Mikhail Kuznetcov
 
Behavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWestBehavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWest
Joshua Warren
 
Universal React apps in Next.js
Universal React apps in Next.jsUniversal React apps in Next.js
Universal React apps in Next.js
🐕 Łukasz Ostrowski
 
Building our Component Library
Building our Component LibraryBuilding our Component Library
Building our Component Library
Clement Ho
 

Similar to Modernizing Vue Storefront 1 (20)

The State of Wicket
The State of WicketThe State of Wicket
The State of Wicket
 
Mvvm is like born fraction
Mvvm is like born fractionMvvm is like born fraction
Mvvm is like born fraction
 
Hyvä from a developer perspective
Hyvä from a developer perspectiveHyvä from a developer perspective
Hyvä from a developer perspective
 
Angular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfAngular + JHipster - JHipster Conf
Angular + JHipster - JHipster Conf
 
Tipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal EizenbergTipping the Scale - Eyal Eizenberg
Tipping the Scale - Eyal Eizenberg
 
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the ScaleJS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
JS Fest 2019/Autumn. Eyal Eizenberg. Tipping the Scale
 
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 VueJS cod...
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
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
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
 
Edmonds Commerce Magento Presentation
Edmonds Commerce Magento PresentationEdmonds Commerce Magento Presentation
Edmonds Commerce Magento Presentation
 
Lecture 11 - Web components
Lecture 11 - Web componentsLecture 11 - Web components
Lecture 11 - Web components
 
What's cool in Apache MyFaces?
What's cool in Apache MyFaces?What's cool in Apache MyFaces?
What's cool in Apache MyFaces?
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpack
 
Passionate People Meetup - React vs Vue with a deepdive into Proxies
Passionate People Meetup - React vs Vue with a deepdive into ProxiesPassionate People Meetup - React vs Vue with a deepdive into Proxies
Passionate People Meetup - React vs Vue with a deepdive into Proxies
 
Vuejs for Angular developers
Vuejs for Angular developersVuejs for Angular developers
Vuejs for Angular developers
 
Behavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWestBehavior & Specification Driven Development in PHP - #OpenWest
Behavior & Specification Driven Development in PHP - #OpenWest
 
Universal React apps in Next.js
Universal React apps in Next.jsUniversal React apps in Next.js
Universal React apps in Next.js
 
Building our Component Library
Building our Component LibraryBuilding our Component Library
Building our Component Library
 

More from Yireo

Faster Magento Integration Tests
Faster Magento Integration TestsFaster Magento Integration Tests
Faster Magento Integration Tests
Yireo
 
Mage-OS Nederland
Mage-OS NederlandMage-OS Nederland
Mage-OS Nederland
Yireo
 
Magento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshop
Magento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshopMagento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshop
Magento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshop
Yireo
 
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Yireo
 
Magento 2 Seminar - Andra Lungu - API in Magento 2
Magento 2 Seminar - Andra Lungu - API in Magento 2Magento 2 Seminar - Andra Lungu - API in Magento 2
Magento 2 Seminar - Andra Lungu - API in Magento 2
Yireo
 
Magento 2 Seminar - Roger Keulen - Machine learning
Magento 2 Seminar - Roger Keulen - Machine learningMagento 2 Seminar - Roger Keulen - Machine learning
Magento 2 Seminar - Roger Keulen - Machine learning
Yireo
 
Magento 2 Seminar - Miguel Balparda - M2 with PHP 7 and Varnish
Magento 2 Seminar - Miguel Balparda - M2 with PHP 7 and VarnishMagento 2 Seminar - Miguel Balparda - M2 with PHP 7 and Varnish
Magento 2 Seminar - Miguel Balparda - M2 with PHP 7 and Varnish
Yireo
 
Magento 2 Seminar - Maarten Schuiling - The App Economy
Magento 2 Seminar - Maarten Schuiling - The App EconomyMagento 2 Seminar - Maarten Schuiling - The App Economy
Magento 2 Seminar - Maarten Schuiling - The App Economy
Yireo
 
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelenMagento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Yireo
 
Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2
Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2
Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2
Yireo
 
Magento 2 Seminar - Arjen Miedema - Search Engine Optimisation
Magento 2 Seminar - Arjen Miedema - Search Engine OptimisationMagento 2 Seminar - Arjen Miedema - Search Engine Optimisation
Magento 2 Seminar - Arjen Miedema - Search Engine Optimisation
Yireo
 
Magento 2 Seminar - Tjitte Folkertsma - Beaumotica
Magento 2 Seminar - Tjitte Folkertsma - BeaumoticaMagento 2 Seminar - Tjitte Folkertsma - Beaumotica
Magento 2 Seminar - Tjitte Folkertsma - Beaumotica
Yireo
 
Magento 2 Seminar - Jeroen Vermeulen Snelle Magento 2 Shops
Magento 2 Seminar - Jeroen Vermeulen  Snelle Magento 2 ShopsMagento 2 Seminar - Jeroen Vermeulen  Snelle Magento 2 Shops
Magento 2 Seminar - Jeroen Vermeulen Snelle Magento 2 Shops
Yireo
 
Magento 2 Seminar - Christian Muench - Magerun2
Magento 2 Seminar - Christian Muench - Magerun2Magento 2 Seminar - Christian Muench - Magerun2
Magento 2 Seminar - Christian Muench - Magerun2
Yireo
 
Magento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 SummaryMagento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 Summary
Yireo
 
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarksMagento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Yireo
 
Magento 2 Seminar - Ben Marks - Keynote
Magento 2 Seminar - Ben Marks - KeynoteMagento 2 Seminar - Ben Marks - Keynote
Magento 2 Seminar - Ben Marks - Keynote
Yireo
 
Magento 2 Seminar - Community agenda
Magento 2 Seminar - Community agendaMagento 2 Seminar - Community agenda
Magento 2 Seminar - Community agenda
Yireo
 
Magento 2 Seminar - Jisse Reitsma - Migratie Planning
Magento 2 Seminar - Jisse Reitsma - Migratie PlanningMagento 2 Seminar - Jisse Reitsma - Migratie Planning
Magento 2 Seminar - Jisse Reitsma - Migratie Planning
Yireo
 
Magento 2 Seminar - Welkom
Magento 2 Seminar - WelkomMagento 2 Seminar - Welkom
Magento 2 Seminar - Welkom
Yireo
 

More from Yireo (20)

Faster Magento Integration Tests
Faster Magento Integration TestsFaster Magento Integration Tests
Faster Magento Integration Tests
 
Mage-OS Nederland
Mage-OS NederlandMage-OS Nederland
Mage-OS Nederland
 
Magento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshop
Magento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshopMagento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshop
Magento 2 Seminar - Peter-Jaap Blaakmeer - VR-webshop
 
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
Magento 2 Seminar - Toon van Dooren - Varnish in Magento 2
 
Magento 2 Seminar - Andra Lungu - API in Magento 2
Magento 2 Seminar - Andra Lungu - API in Magento 2Magento 2 Seminar - Andra Lungu - API in Magento 2
Magento 2 Seminar - Andra Lungu - API in Magento 2
 
Magento 2 Seminar - Roger Keulen - Machine learning
Magento 2 Seminar - Roger Keulen - Machine learningMagento 2 Seminar - Roger Keulen - Machine learning
Magento 2 Seminar - Roger Keulen - Machine learning
 
Magento 2 Seminar - Miguel Balparda - M2 with PHP 7 and Varnish
Magento 2 Seminar - Miguel Balparda - M2 with PHP 7 and VarnishMagento 2 Seminar - Miguel Balparda - M2 with PHP 7 and Varnish
Magento 2 Seminar - Miguel Balparda - M2 with PHP 7 and Varnish
 
Magento 2 Seminar - Maarten Schuiling - The App Economy
Magento 2 Seminar - Maarten Schuiling - The App EconomyMagento 2 Seminar - Maarten Schuiling - The App Economy
Magento 2 Seminar - Maarten Schuiling - The App Economy
 
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelenMagento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
Magento 2 Seminar - Jisse Reitsma - Magento 2 techniek vertalen naar voordelen
 
Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2
Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2
Magento 2 Seminar - Sander Mangel - Van Magento 1 naar 2
 
Magento 2 Seminar - Arjen Miedema - Search Engine Optimisation
Magento 2 Seminar - Arjen Miedema - Search Engine OptimisationMagento 2 Seminar - Arjen Miedema - Search Engine Optimisation
Magento 2 Seminar - Arjen Miedema - Search Engine Optimisation
 
Magento 2 Seminar - Tjitte Folkertsma - Beaumotica
Magento 2 Seminar - Tjitte Folkertsma - BeaumoticaMagento 2 Seminar - Tjitte Folkertsma - Beaumotica
Magento 2 Seminar - Tjitte Folkertsma - Beaumotica
 
Magento 2 Seminar - Jeroen Vermeulen Snelle Magento 2 Shops
Magento 2 Seminar - Jeroen Vermeulen  Snelle Magento 2 ShopsMagento 2 Seminar - Jeroen Vermeulen  Snelle Magento 2 Shops
Magento 2 Seminar - Jeroen Vermeulen Snelle Magento 2 Shops
 
Magento 2 Seminar - Christian Muench - Magerun2
Magento 2 Seminar - Christian Muench - Magerun2Magento 2 Seminar - Christian Muench - Magerun2
Magento 2 Seminar - Christian Muench - Magerun2
 
Magento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 SummaryMagento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 Summary
 
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarksMagento 2 Seminar - Daniel Genis - Magento 2 benchmarks
Magento 2 Seminar - Daniel Genis - Magento 2 benchmarks
 
Magento 2 Seminar - Ben Marks - Keynote
Magento 2 Seminar - Ben Marks - KeynoteMagento 2 Seminar - Ben Marks - Keynote
Magento 2 Seminar - Ben Marks - Keynote
 
Magento 2 Seminar - Community agenda
Magento 2 Seminar - Community agendaMagento 2 Seminar - Community agenda
Magento 2 Seminar - Community agenda
 
Magento 2 Seminar - Jisse Reitsma - Migratie Planning
Magento 2 Seminar - Jisse Reitsma - Migratie PlanningMagento 2 Seminar - Jisse Reitsma - Migratie Planning
Magento 2 Seminar - Jisse Reitsma - Migratie Planning
 
Magento 2 Seminar - Welkom
Magento 2 Seminar - WelkomMagento 2 Seminar - Welkom
Magento 2 Seminar - Welkom
 

Recently uploaded

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 

Recently uploaded (20)

Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 

Modernizing Vue Storefront 1

  • 1. Modernizing Vue Storefront 1 Yireo - Modernizing Vue Storefront 1 1 of 14
  • 2. Jisse Reitsma Yireo - Modernizing Vue Storefront 1 2 of 14
  • 3. Jisse Reitsma Owner of Yireo Yireo - Modernizing Vue Storefront 1 2 of 14
  • 4. Jisse Reitsma Owner of Yireo Extension developer Yireo - Modernizing Vue Storefront 1 2 of 14
  • 5. Jisse Reitsma Owner of Yireo Extension developer Trainer of developers Yireo - Modernizing Vue Storefront 1 2 of 14
  • 6. Jisse Reitsma Owner of Yireo Extension developer Trainer of developers 3x Magento Master Yireo - Modernizing Vue Storefront 1 2 of 14
  • 7. Jisse Reitsma Owner of Yireo Extension developer Trainer of developers 3x Magento Master Organizer of Reacticon and MageTestFest 3 times Reacticon 2 times MageTestFest Yireo - Modernizing Vue Storefront 1 2 of 14
  • 8. Reacticon 4 Frontend developer conference Magento Hyva Themes, PWA Studio, Vue Storefront 1 Shopware PWA and other headless alternatives Discussions, talks, hangouts, fun June 14th-18th 2021 Free attendance Slack space YouTube livestream See reacticon.org  Yireo - Modernizing Vue Storefront 1 3 of 14
  • 9. Vue Storefront 1 On-Demand training 9.5 hours of videos 300+ pages of text More coming up Additional topics on VSF1 Also new courses on Magento PWA Studio, VSF Next and more See yireo.com/vue  Yireo - Modernizing Vue Storefront 1 4 of 14
  • 10. What about Vue Storefront Next? Yireo - Modernizing Vue Storefront 1 5 of 14
  • 11. What about Vue Storefront Next? Nuxt.js based Yireo - Modernizing Vue Storefront 1 5 of 14
  • 12. What about Vue Storefront Next? Nuxt.js based Supported platforms CommerceTools Shopify (thanks to Aureate) Shopware (as Shopware PWA) ... Yireo - Modernizing Vue Storefront 1 5 of 14
  • 13. What about Vue Storefront Next? Nuxt.js based Supported platforms CommerceTools Shopify (thanks to Aureate) Shopware (as Shopware PWA) ... No Magento support Yireo - Modernizing Vue Storefront 1 5 of 14
  • 14. What about Vue Storefront Next? Nuxt.js based Supported platforms CommerceTools Shopify (thanks to Aureate) Shopware (as Shopware PWA) ... No Magento support But Vue Storefront 1 is not dead yet Thanks to Filip Jedrasik Yireo - Modernizing Vue Storefront 1 5 of 14
  • 15. Capybara Yireo - Modernizing Vue Storefront 1 6 of 14
  • 16. Capybara Do not use Default Theme Use Capybara Yireo - Modernizing Vue Storefront 1 6 of 14
  • 17. Capybara Do not use Default Theme Use Capybara Do not copy an entire theme Use parent/child theming Yireo - Modernizing Vue Storefront 1 6 of 14
  • 18. Capybara Do not use Default Theme Use Capybara Do not copy an entire theme Use parent/child theming Add Storefront UI elements where you want VSF Next is based on Storefront UI too Presentational components will keep on working (mostly) Yireo - Modernizing Vue Storefront 1 6 of 14
  • 19. Parent & Child theming Yireo - Modernizing Vue Storefront 1 7 of 14
  • 20. Parent & Child theming Do not copy les Yireo - Modernizing Vue Storefront 1 7 of 14
  • 21. Parent & Child theming Do not copy les Use Webpack! Yireo - Modernizing Vue Storefront 1 7 of 14
  • 22. Parent & Child theming Do not copy les Use Webpack! Example: yireo-training/vsf-yireo-theme Yireo - Modernizing Vue Storefront 1 7 of 14
  • 23. Parent & Child theming Do not copy les Use Webpack! Example: yireo-training/vsf-yireo-theme Based on yireo/vsf1-webpack-inheritance-plugin Yireo - Modernizing Vue Storefront 1 7 of 14
  • 24. Slow compilation? Yireo - Modernizing Vue Storefront 1 8 of 14
  • 25. Slow compilation? Skip SSR compilation Yireo - Modernizing Vue Storefront 1 8 of 14
  • 26. Slow compilation? Skip SSR compilation Use Webpack! Yireo - Modernizing Vue Storefront 1 8 of 14
  • 27. Slow compilation? Skip SSR compilation Use Webpack! Example: yireo-training/vsf1-local-webpack Yireo - Modernizing Vue Storefront 1 8 of 14
  • 28. Override speci c les Do not hack the core Use Webpack! File src/themes/capybara/webpack.config.js ... const mergedConfig = merge( { resolve: { alias: { 'src/modules/client': `${themeRoot}/config/modules` } } }, config, clientConfig ); ... Yireo - Modernizing Vue Storefront 1 9 of 14
  • 29. Stay up to date VSF1 is still optimized with small releases Keep an eye on Github repos Small xes matter Copy changes manually, cherrypick commits Do not just patiently wait for a new o cial release Yireo - Modernizing Vue Storefront 1 10 of 14
  • 30. Use Storybook Yireo - Modernizing Vue Storefront 1 11 of 14
  • 31. Use Storybook Draft a simple style tile (or mood board or whatever) Plain Vue app without dynamic behaviour Add Storefront UI as a Node dependency Add all HTML / CSS output and make sure it looks good Yireo - Modernizing Vue Storefront 1 11 of 14
  • 32. Use Storybook Draft a simple style tile (or mood board or whatever) Plain Vue app without dynamic behaviour Add Storefront UI as a Node dependency Add all HTML / CSS output and make sure it looks good Move Vue components into Storybook Maintain your own UIComponents along-side your VSF project Yireo - Modernizing Vue Storefront 1 11 of 14
  • 33. Composition API Install the Composition API plugin for Vue 2 Add your own composables for logic Local state Vuex bindings GraphQL calls Yireo - Modernizing Vue Storefront 1 12 of 14
  • 34. Other considerations Yireo - Modernizing Vue Storefront 1 13 of 14
  • 35. Other considerations A theme is just some HTML and CSS Use Tailwind, Material, whatever Yireo - Modernizing Vue Storefront 1 13 of 14
  • 36. Other considerations A theme is just some HTML and CSS Use Tailwind, Material, whatever Separate logic from output Presentational vs stateful components Yireo - Modernizing Vue Storefront 1 13 of 14
  • 37. Other considerations A theme is just some HTML and CSS Use Tailwind, Material, whatever Separate logic from output Presentational vs stateful components Tryout the GraphQL binding Switch from ElasticSearch to GraphQL (SF Query Builder) But beware of the performance! Yireo - Modernizing Vue Storefront 1 13 of 14
  • 38. Other considerations A theme is just some HTML and CSS Use Tailwind, Material, whatever Separate logic from output Presentational vs stateful components Tryout the GraphQL binding Switch from ElasticSearch to GraphQL (SF Query Builder) But beware of the performance! Use the new Storefront API instead of VSF1 API Some integration of Apollo Server (with GraphQL caching support) Yireo - Modernizing Vue Storefront 1 13 of 14
  • 39. Thanks @jissereitsma Yireo - Modernizing Vue Storefront 1 14 of 14