SlideShare a Scribd company logo
1 of 29
Download to read offline
 
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

More Related Content

What's hot

AD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfAD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfMartijn de Jong
 
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)Sumanth Donthi
 
Asset Management Best Practices
Asset Management Best PracticesAsset Management Best Practices
Asset Management Best Practicesjohnnyg14
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedGanapathi Kandaswamy
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Yevgeniy Brikman
 
Power vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricksPower vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & trickssolarisyougood
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | EdurekaEdureka!
 
NetBackup AIR CLI
NetBackup AIR CLINetBackup AIR CLI
NetBackup AIR CLIvxsejapan
 
Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewVMware Tanzu
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow soloviniciusban
 
24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to Know24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to KnowAshish Bansal
 
NoEresTanEspecial-PulpoCon22.pdf
NoEresTanEspecial-PulpoCon22.pdfNoEresTanEspecial-PulpoCon22.pdf
NoEresTanEspecial-PulpoCon22.pdfRicard Clau
 
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)Phil Wilkins
 

What's hot (20)

The kvm virtualization way
The kvm virtualization wayThe kvm virtualization way
The kvm virtualization way
 
AD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfAD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdf
 
Mule esb presentation
Mule esb presentationMule esb presentation
Mule esb presentation
 
Orchestrating Microservices
Orchestrating MicroservicesOrchestrating Microservices
Orchestrating Microservices
 
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
API Governance and GitOps in Hybrid Integration Platform (MuleSoft)
 
Asset Management Best Practices
Asset Management Best PracticesAsset Management Best Practices
Asset Management Best Practices
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Web development
Web developmentWeb development
Web development
 
Power vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricksPower vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricks
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 
NetBackup AIR CLI
NetBackup AIR CLINetBackup AIR CLI
NetBackup AIR CLI
 
Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical Overview
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow solo
 
24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to Know24 Sitecore Tips that Every Sitecore Architect Needs to Know
24 Sitecore Tips that Every Sitecore Architect Needs to Know
 
NoEresTanEspecial-PulpoCon22.pdf
NoEresTanEspecial-PulpoCon22.pdfNoEresTanEspecial-PulpoCon22.pdf
NoEresTanEspecial-PulpoCon22.pdf
 
VMware Workspace One
VMware Workspace OneVMware Workspace One
VMware Workspace One
 
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 

Recently uploaded (20)

WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

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