SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
 
Hyvä
a developers perspective
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Vinai
— 2008
Fell in love with Magento
— 2016
Frustrated and disillusioned
— Since October 2020
Freshly in love again
 
Having joined Hyvä
vs
an objective perspective
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
 
A primer
Hyvä is a brand-new frontend for Magento 2
with the best DevExperience, Performance and
Time to Market.
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
 
It's a theme, but unlike any Magento
theme you know.
 
A complete replacement of the frontend stack.
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
!
bye bye ugly parts
!
bye less
!
bye requirejs, jquery, knockout, underscore, ... (MB++)
!
bye Magento UI components
!
bye slow deployments
!
bye frontend complexity
!
bye days wasted optimizing frontend performance
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
HTML5
TailwindCSS
AlpineJS !
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
 
1.000 €
License
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
 
Trust
✅
Backed by a commercial entity
✅
Continued development
✅
Long term support
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Access to the ecosystem
✅
Community
✅
Documentation
✅
Private slack
✅
Gitlab source code
✅
Support
✅
Upgrades
✅
Compatibility modules
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Now that you know what Hyvä is...
As a primarily backend developer,
how was it ge!ing started?
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
How was it getting started with TailwindCSS?
It's like CSS but simpler. Great docs. It's fun!
Lots of great tooling: IDE plugins, chrome dev tools, CLI
tools, browser plugins
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
How was it getting started
with AlpineJS?
Reading the documentation took
me about one hour.
!
How was it getting started
with AlpineJS?
I felt comfortable working with it
after one more hour.
!
A thin layer over vanilla
JavaScript that makes working
with the DOM even simpler.
 
Day to day work
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Third Party
Modules
 
We all use them!
But, they are built for Luma...
Compatibility Modules
A compatibility module provides Hyvä compatible
templates for existing third party modules.
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
We all need a similar                                     Instead of
subset of                                                replicating the
modules.                                                             effort
 
                                          we share
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Compat Module Tracker
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Making a compatibility module:
1. Copy template into compat module
2. Inline data-mage-init, x-magento-init, and require()
3. Inline ko .html templates (default to SSR)
4. Port "Magento JS" to AlpineJS + native
5. Add TailwindCSS classes (use Windy Browser Plugin)
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Support
— Lots of documentation
— Automatic template overrides
for compat modules
— Support via slack
— Existing compat modules
Theming
— Styling templates with utility CSS classes is fast
— There is a gargantuan amount of Tailwindcss
examples on the interwebs
— Magento ViewModels take center stage
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
The View Model Registry
/** @var ViewModelRegistry $viewModels */
/** @var HeroiconsSolid $heroiconsSolid */
/** @var ProductPage $productViewModel */
/** @var Store $storeViewModel */
$heroiconsSolid = $viewModels->require(HeroiconsSolid::class);
$productViewModel = $viewModels->require(ProductPage::class);
$storeViewModel = $viewModels->require(Store::class);
$currentProduct = $productViewModel->getProduct();
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
The View Model Registry
— Templates are more encapsulated
— Not as dependent on the layout block hierarchy
— ViewModels are composable
— Hyvä ViewModel feature:
Provide FPC cache identities (a.k.a. tags) for pages!
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Roadmap for 2021
— Alpine v3 & Tailwind JIT integration
— Adobe Commerce Feature coverage
— More Compatibility Modules
— UI Component Library
— ??? Surprises (the good kind)
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Results
— Significantly shorter project build times
— All agencies who have completed a Hyvä project want
to continue or already have started doing more Hyvä
builds
— Overall developer satisfaction is very high
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Thanks
Please contact me at:
— vinai@hyva.io
— https://twitter.com/VinaiKopp
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
Image Credits thanks to Unsplash
 
 
 
By Jon Tyson             By Darryl Kelly         By Omid Armin
Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp

Weitere ähnliche Inhalte

Was ist angesagt?

Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Olle E Johansson
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source WorldLorenzo Miniero
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfClaus Ibsen
 
Prototyping for responsive web design
Prototyping for responsive web design Prototyping for responsive web design
Prototyping for responsive web design mrscammels
 
Headless - the future of e-commerce
Headless - the future of e-commerceHeadless - the future of e-commerce
Headless - the future of e-commerceJamie Maria Schouren
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Responsive web design
Responsive web designResponsive web design
Responsive web designRuss Weakley
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 rockplace
 
성공적인 하이브리드 클라우드를 위한 레드햇의 전략
성공적인 하이브리드 클라우드를 위한 레드햇의 전략성공적인 하이브리드 클라우드를 위한 레드햇의 전략
성공적인 하이브리드 클라우드를 위한 레드햇의 전략rockplace
 
Responsive Design Presentation
Responsive Design PresentationResponsive Design Presentation
Responsive Design PresentationEugen Figursky
 
시스코 라우팅의 진화 세그멘트 라우팅 애플리케이션 라우팅
시스코 라우팅의 진화 세그멘트 라우팅  애플리케이션 라우팅시스코 라우팅의 진화 세그멘트 라우팅  애플리케이션 라우팅
시스코 라우팅의 진화 세그멘트 라우팅 애플리케이션 라우팅CiscoKorea
 
Introduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisIntroduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisYoshimasa Tanabe
 
Snap chat Interface Analysis Report
Snap chat Interface Analysis Report Snap chat Interface Analysis Report
Snap chat Interface Analysis Report Seunghun Yoo
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?Graham Charters
 
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basicGyewan An
 
Nx: Angular CLI Power-ups for your modern Development
Nx: Angular CLI Power-ups for your modern DevelopmentNx: Angular CLI Power-ups for your modern Development
Nx: Angular CLI Power-ups for your modern DevelopmentSeven Peaks Speaks
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 

Was ist angesagt? (20)

Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.
 
Janus + Audio @ Open Source World
Janus + Audio @ Open Source WorldJanus + Audio @ Open Source World
Janus + Audio @ Open Source World
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
Prototyping for responsive web design
Prototyping for responsive web design Prototyping for responsive web design
Prototyping for responsive web design
 
Headless - the future of e-commerce
Headless - the future of e-commerceHeadless - the future of e-commerce
Headless - the future of e-commerce
 
Headless CMS
Headless CMSHeadless CMS
Headless CMS
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Docker on Docker
Docker on DockerDocker on Docker
Docker on Docker
 
Micro frontend
Micro frontendMicro frontend
Micro frontend
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
성공적인 하이브리드 클라우드를 위한 레드햇의 전략
성공적인 하이브리드 클라우드를 위한 레드햇의 전략성공적인 하이브리드 클라우드를 위한 레드햇의 전략
성공적인 하이브리드 클라우드를 위한 레드햇의 전략
 
Responsive Design Presentation
Responsive Design PresentationResponsive Design Presentation
Responsive Design Presentation
 
시스코 라우팅의 진화 세그멘트 라우팅 애플리케이션 라우팅
시스코 라우팅의 진화 세그멘트 라우팅  애플리케이션 라우팅시스코 라우팅의 진화 세그멘트 라우팅  애플리케이션 라우팅
시스코 라우팅의 진화 세그멘트 라우팅 애플리케이션 라우팅
 
Introduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ ArtemisIntroduction to Apache ActiveMQ Artemis
Introduction to Apache ActiveMQ Artemis
 
Snap chat Interface Analysis Report
Snap chat Interface Analysis Report Snap chat Interface Analysis Report
Snap chat Interface Analysis Report
 
How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?How to get along with HATEOAS without letting the bad guys steal your lunch?
How to get along with HATEOAS without letting the bad guys steal your lunch?
 
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basic
 
Nx: Angular CLI Power-ups for your modern Development
Nx: Angular CLI Power-ups for your modern DevelopmentNx: Angular CLI Power-ups for your modern Development
Nx: Angular CLI Power-ups for your modern Development
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 

Ähnlich wie Hyvä from a developer perspective

Better Digital Products with Micro Frontends and Modyo
Better Digital Products with Micro Frontends and ModyoBetter Digital Products with Micro Frontends and Modyo
Better Digital Products with Micro Frontends and ModyoEmma Parsons
 
My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...
My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...
My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...Ananya Sen
 
Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.Elogic Magento Development
 
How I ended up touching Magento core
How I ended up touching Magento coreHow I ended up touching Magento core
How I ended up touching Magento coreAlessandro Ronchi
 
Web components and Package managers
Web components and Package managersWeb components and Package managers
Web components and Package managersbtopro
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 uploadDebnath Sinha
 
Trading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDB
Trading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDBTrading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDB
Trading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDBMongoDB
 
Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...
Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...
Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...Codemotion
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiTemitayo Fadojutimi
 
Magezon Page Builder - Drag & Drop Magento 2 Page Builder Extension
Magezon Page Builder - Drag & Drop Magento 2 Page Builder ExtensionMagezon Page Builder - Drag & Drop Magento 2 Page Builder Extension
Magezon Page Builder - Drag & Drop Magento 2 Page Builder ExtensionMagezon
 
Technologies A MERN Stack Developer Should Learn in 2022.pptx
Technologies A MERN Stack Developer Should Learn in 2022.pptxTechnologies A MERN Stack Developer Should Learn in 2022.pptx
Technologies A MERN Stack Developer Should Learn in 2022.pptx75waytechnologies
 
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
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistMark Fayngersh
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile AppMobio Solutions
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...Heiko Voigt
 
James Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouJames Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouMeet Magento Italy
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Alen Leit
 

Ähnlich wie Hyvä from a developer perspective (20)

Yoav Kutner Dutchento
Yoav Kutner DutchentoYoav Kutner Dutchento
Yoav Kutner Dutchento
 
Better Digital Products with Micro Frontends and Modyo
Better Digital Products with Micro Frontends and ModyoBetter Digital Products with Micro Frontends and Modyo
Better Digital Products with Micro Frontends and Modyo
 
My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...
My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...
My presentation at Grace Hopper Conference 2014, about Rewrite/Refactor with ...
 
Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.Chernivtsi Magento Meetup&Contribution day. Naida V.
Chernivtsi Magento Meetup&Contribution day. Naida V.
 
Kendo ui web
Kendo ui webKendo ui web
Kendo ui web
 
How I ended up touching Magento core
How I ended up touching Magento coreHow I ended up touching Magento core
How I ended up touching Magento core
 
Web components and Package managers
Web components and Package managersWeb components and Package managers
Web components and Package managers
 
Vue Storefront MUG
Vue Storefront MUGVue Storefront MUG
Vue Storefront MUG
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
Trading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDB
Trading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDBTrading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDB
Trading up: Adding Flexibility and Scalability to Bouygues Telecom with MongoDB
 
Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...
Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...
Matteo Santagata - Is your project scaling right? The BEE case study - Codemo...
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo Fadojutimi
 
Magezon Page Builder - Drag & Drop Magento 2 Page Builder Extension
Magezon Page Builder - Drag & Drop Magento 2 Page Builder ExtensionMagezon Page Builder - Drag & Drop Magento 2 Page Builder Extension
Magezon Page Builder - Drag & Drop Magento 2 Page Builder Extension
 
Technologies A MERN Stack Developer Should Learn in 2022.pptx
Technologies A MERN Stack Developer Should Learn in 2022.pptxTechnologies A MERN Stack Developer Should Learn in 2022.pptx
Technologies A MERN Stack Developer Should Learn in 2022.pptx
 
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
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwist
 
React Native - Build Native Mobile App
React Native - Build Native Mobile AppReact Native - Build Native Mobile App
React Native - Build Native Mobile App
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 
James Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With YouJames Zetlen - PWA Studio Integration…With You
James Zetlen - PWA Studio Integration…With You
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
 

Mehr von vinaikopp

Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023vinaikopp
 
Property Based Testing in PHP
Property Based Testing in PHPProperty Based Testing in PHP
Property Based Testing in PHPvinaikopp
 
Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019vinaikopp
 
Becoming Certified - MageTitansMCR 2018
Becoming Certified - MageTitansMCR 2018Becoming Certified - MageTitansMCR 2018
Becoming Certified - MageTitansMCR 2018vinaikopp
 
SOS UiComponents
SOS UiComponentsSOS UiComponents
SOS UiComponentsvinaikopp
 
ClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRNClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRNvinaikopp
 
Magento 2 TDD Code Kata
Magento 2 TDD Code KataMagento 2 TDD Code Kata
Magento 2 TDD Code Katavinaikopp
 
Magento 2 TDD Code Kata Intro
Magento 2 TDD Code Kata IntroMagento 2 TDD Code Kata Intro
Magento 2 TDD Code Kata Introvinaikopp
 
Testing Magento 2
Testing Magento 2Testing Magento 2
Testing Magento 2vinaikopp
 
ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017vinaikopp
 
Lizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17deLizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17devinaikopp
 
Stories from the other side
Stories from the other sideStories from the other side
Stories from the other sidevinaikopp
 
Writing Testable Code (for Magento 1 and 2) 2016 Romaina
Writing Testable Code (for Magento 1 and 2)  2016 RomainaWriting Testable Code (for Magento 1 and 2)  2016 Romaina
Writing Testable Code (for Magento 1 and 2) 2016 Romainavinaikopp
 
Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)vinaikopp
 
Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)vinaikopp
 
Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)vinaikopp
 
Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)vinaikopp
 
Architecture in-the-small-slides
Architecture in-the-small-slidesArchitecture in-the-small-slides
Architecture in-the-small-slidesvinaikopp
 
Modern Module Architecture
Modern Module ArchitectureModern Module Architecture
Modern Module Architecturevinaikopp
 
The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014vinaikopp
 

Mehr von vinaikopp (20)

Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023Building Mage-OS - MageTitans 2023
Building Mage-OS - MageTitans 2023
 
Property Based Testing in PHP
Property Based Testing in PHPProperty Based Testing in PHP
Property Based Testing in PHP
 
Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019Property based testing - MageTestFest 2019
Property based testing - MageTestFest 2019
 
Becoming Certified - MageTitansMCR 2018
Becoming Certified - MageTitansMCR 2018Becoming Certified - MageTitansMCR 2018
Becoming Certified - MageTitansMCR 2018
 
SOS UiComponents
SOS UiComponentsSOS UiComponents
SOS UiComponents
 
ClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRNClojureScript in Magento 2 - PHPUGMRN
ClojureScript in Magento 2 - PHPUGMRN
 
Magento 2 TDD Code Kata
Magento 2 TDD Code KataMagento 2 TDD Code Kata
Magento 2 TDD Code Kata
 
Magento 2 TDD Code Kata Intro
Magento 2 TDD Code Kata IntroMagento 2 TDD Code Kata Intro
Magento 2 TDD Code Kata Intro
 
Testing Magento 2
Testing Magento 2Testing Magento 2
Testing Magento 2
 
ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017ClojureScript in Magento 2 - MageTitansMCR 2017
ClojureScript in Magento 2 - MageTitansMCR 2017
 
Lizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17deLizards & Pumpkins Catalog Replacement at mm17de
Lizards & Pumpkins Catalog Replacement at mm17de
 
Stories from the other side
Stories from the other sideStories from the other side
Stories from the other side
 
Writing Testable Code (for Magento 1 and 2) 2016 Romaina
Writing Testable Code (for Magento 1 and 2)  2016 RomainaWriting Testable Code (for Magento 1 and 2)  2016 Romaina
Writing Testable Code (for Magento 1 and 2) 2016 Romaina
 
Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)Writing Testable Code (for Magento 1 and 2)
Writing Testable Code (for Magento 1 and 2)
 
Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)Writing testable Code (MageTitans Mini 2016)
Writing testable Code (MageTitans Mini 2016)
 
Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)Getting your Hands Dirty Testing Magento 2 (at London Meetup)
Getting your Hands Dirty Testing Magento 2 (at London Meetup)
 
Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)Getting your hands dirty testing Magento 2 (at MageTitansIT)
Getting your hands dirty testing Magento 2 (at MageTitansIT)
 
Architecture in-the-small-slides
Architecture in-the-small-slidesArchitecture in-the-small-slides
Architecture in-the-small-slides
 
Modern Module Architecture
Modern Module ArchitectureModern Module Architecture
Modern Module Architecture
 
The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014The beautiful Magento module - MageTitans 2014
The beautiful Magento module - MageTitans 2014
 

Kürzlich hochgeladen

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Kürzlich hochgeladen (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Hyvä from a developer perspective

  • 1.   Hyvä a developers perspective Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 2. Vinai — 2008 Fell in love with Magento — 2016 Frustrated and disillusioned — Since October 2020 Freshly in love again
  • 3.   Having joined Hyvä vs an objective perspective Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 4.   A primer Hyvä is a brand-new frontend for Magento 2 with the best DevExperience, Performance and Time to Market. Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 5.   It's a theme, but unlike any Magento theme you know.   A complete replacement of the frontend stack. Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 6. ! bye bye ugly parts ! bye less ! bye requirejs, jquery, knockout, underscore, ... (MB++) ! bye Magento UI components ! bye slow deployments ! bye frontend complexity ! bye days wasted optimizing frontend performance Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 7. HTML5 TailwindCSS AlpineJS ! Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 8.   1.000 € License Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 9.   Trust ✅ Backed by a commercial entity ✅ Continued development ✅ Long term support Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 10. Access to the ecosystem ✅ Community ✅ Documentation ✅ Private slack ✅ Gitlab source code ✅ Support ✅ Upgrades ✅ Compatibility modules Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 11. Now that you know what Hyvä is... As a primarily backend developer, how was it ge!ing started? Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 12. How was it getting started with TailwindCSS? It's like CSS but simpler. Great docs. It's fun! Lots of great tooling: IDE plugins, chrome dev tools, CLI tools, browser plugins Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 13. How was it getting started with AlpineJS? Reading the documentation took me about one hour. !
  • 14. How was it getting started with AlpineJS? I felt comfortable working with it after one more hour. ! A thin layer over vanilla JavaScript that makes working with the DOM even simpler.
  • 15.   Day to day work Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 16. Third Party Modules   We all use them! But, they are built for Luma...
  • 17. Compatibility Modules A compatibility module provides Hyvä compatible templates for existing third party modules. Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 18. We all need a similar                                     Instead of subset of                                                replicating the modules.                                                             effort                                             we share Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 19. Compat Module Tracker Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 20. Making a compatibility module: 1. Copy template into compat module 2. Inline data-mage-init, x-magento-init, and require() 3. Inline ko .html templates (default to SSR) 4. Port "Magento JS" to AlpineJS + native 5. Add TailwindCSS classes (use Windy Browser Plugin) Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 21. Support — Lots of documentation — Automatic template overrides for compat modules — Support via slack — Existing compat modules
  • 22. Theming — Styling templates with utility CSS classes is fast — There is a gargantuan amount of Tailwindcss examples on the interwebs — Magento ViewModels take center stage Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 23. The View Model Registry /** @var ViewModelRegistry $viewModels */ /** @var HeroiconsSolid $heroiconsSolid */ /** @var ProductPage $productViewModel */ /** @var Store $storeViewModel */ $heroiconsSolid = $viewModels->require(HeroiconsSolid::class); $productViewModel = $viewModels->require(ProductPage::class); $storeViewModel = $viewModels->require(Store::class); $currentProduct = $productViewModel->getProduct(); Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 24. The View Model Registry — Templates are more encapsulated — Not as dependent on the layout block hierarchy — ViewModels are composable — Hyvä ViewModel feature: Provide FPC cache identities (a.k.a. tags) for pages! Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 25. Roadmap for 2021 — Alpine v3 & Tailwind JIT integration — Adobe Commerce Feature coverage — More Compatibility Modules — UI Component Library — ??? Surprises (the good kind) Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 26. Results — Significantly shorter project build times — All agencies who have completed a Hyvä project want to continue or already have started doing more Hyvä builds — Overall developer satisfaction is very high Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 27. Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 28. Thanks Please contact me at: — vinai@hyva.io — https://twitter.com/VinaiKopp Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp
  • 29. Image Credits thanks to Unsplash       By Jon Tyson             By Darryl Kelly         By Omid Armin Meet-Magento Indonesia – Hyvä: A developers perspective – 2021-12-08 – © Vinai Kopp