PWA Studio, Hyvä, and Luma are the three main frontend options for Magento 2. Each represents a fundamentally different architecture and development model. Choosing the wrong one is an expensive mistake that is hard to reverse. I give an honest comparison including Total Cost of Ownership, not just technical features.
Architecture comparison
| Aspect | Luma | Hyvä | PWA Studio |
|---|---|---|---|
| Technology | LESS, RequireJS, KnockoutJS | Tailwind, Alpine.js, PHTML | React, GraphQL, Node.js |
| Rendering | Server-side PHP | Server-side PHP | Client-side React (SSR optional) |
| Magento API | REST internal | REST internal | GraphQL |
| Build step | LESS compiler | Tailwind CLI (fast) | Webpack/Vite + Node.js |
| Lighthouse mobile | 20-40 | 85-95+ | 70-90 (with SSR) |
| PHP developer learning | Medium | Low | High (React required) |
Total Cost of Ownership analysis
Luma
Initial development: Baseline (100%) Customisation: High - LESS + XML layout + KnockoutJS for any interactive element Module compatibility: Very high - every Magento module has Luma support Performance: Poor out of the box, significant optimisation effort required Maintenance: Medium - Magento updates often break templates Team requirements: PHP + LESS/CSS + basic JS TCO verdict: Low initial cost, high performance optimisation cost later. Appropriate for: Legacy projects, teams with no React experience, very tight timelines.
Hyvä
Initial development: +20-30% vs Luma (license + learning curve) Customisation: Low - PHTML + Tailwind classes + inline Alpine.js Module compatibility: Growing fast - most popular modules have Hyvä ports Performance: Excellent out of the box (85-95 Lighthouse) Maintenance: Low - simpler codebase, less moving parts Team requirements: PHP + Tailwind/CSS + basic Alpine.js (very low bar) TCO verdict: Higher upfront, significantly lower long-term cost. Appropriate for: New projects, performance-critical shops, PHP-first teams.
PWA Studio (Venia)
Initial development: +50-100% vs Luma (separate Node.js app, React expertise)
Customisation: Medium - React components + extensibility framework
Module compatibility: Poor - most Magento modules have no PWA support
Performance: Good with SSR, variable without
Maintenance: High - Node.js + React + Magento GraphQL all must be maintained
Team requirements: PHP (backend) + React/Node.js developer (separate person)
TCO verdict: Highest upfront and ongoing cost. Justified only in specific cases.
Appropriate for: Mobile-first PWA apps, teams with dedicated React developers,
projects where app-like UX is a core business requirement.
Module compatibility – the hidden cost
# Check Hyvä compatibility before choosing modules # https://hyva.io/hyva-themes-magento-2-compatibility.html # Modules with no Hyvä port require: # 1. Finding a Hyvä-compatible alternative module # 2. Building a custom Hyvä frontend for the module # 3. Disabling the module and writing custom code # Popular modules with Hyvä ports (as of 2024): # - MageArray Google Tag Manager: yes # - Amasty One Step Checkout: yes (paid Hyvä module) # - Yotpo Reviews: yes # - Klevu Search: yes # - Mollie Payment: yes # Modules that still need custom Hyvä work: # - Many niche B2B modules # - Some ERP integrations with custom checkout steps # - Older abandoned modules
Decision matrix
| Situation | Recommended choice |
|---|---|
| New B2C shop, performance matters, PHP-first team | Hyvä |
| Migration from Magento 1 / existing Luma customisations | Luma (short term) or Hyvä with migration plan |
| Mobile app + web with shared backend, React team available | PWA Studio or custom React with Magento GraphQL |
| B2B with complex checkout, many third-party modules | Luma (module compatibility) or Hyvä with compatibility check |
| Tight budget, fast time-to-market | Luma or Hyvä (depending on Lighthouse requirements) |
| Core Web Vitals are a hard requirement (SEO, conversion) | Hyvä |
Hyvä adoption trajectory
# Hyvä market share trajectory (community data): # 2021: ~5% of new Magento 2 projects # 2022: ~25% # 2023: ~45% # 2024: ~60%+ of new projects # The ecosystem has matured dramatically: # - Hyvä Checkout (replaces complex Knockout checkout) # - Hyvä Commerce (full commerce layer) # - Most popular extensions now have Hyvä-native versions # - DDEV add-on: ddev get ddev/ddev-hyva # Practical setup with DDEV ddev get ddev/ddev-hyva ddev composer require hyva-themes/magento2-default-theme ddev exec npm --prefix vendor/hyva-themes/magento2-default-theme/web/tailwind install ddev exec npm --prefix vendor/hyva-themes/magento2-default-theme/web/tailwind run build-prod
Summary
For new projects in 2024-2025 the choice is almost always Hyvä. It gives excellent Lighthouse scores without a Node.js dependency, is accessible to PHP developers, and its ecosystem has matured to cover the most common modules. Luma is the right answer only when legacy compatibility is a hard requirement. PWA Studio makes sense only when a dedicated React developer is on the team and app-like UX is a core product requirement – not just a nice-to-have.
