-
Notifications
You must be signed in to change notification settings - Fork 52
Hummingbird v2.0.0 Beta #1382
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hummingbird v2.0.0 Beta #1382
Changes from 3 commits
18dd163
4b3baf1
79c976d
f3778df
2caec49
3d2abf0
65ff4b9
850a4ad
35b3ac0
147f4a8
3927856
4f0b46e
e5ba68b
f5ff522
e393f73
a8ad6e9
e8ba9de
51914e0
73cf244
aed9d49
81ce265
d5e2413
fa2e3b3
50adc4a
8024975
497635e
197522d
2a8909d
63964c4
8391701
fb7ee89
a8d2b31
8969bea
c6ccda3
c3267f7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| --- | ||
| layout: post | ||
| title: "Hummingbird v2.0.0 Beta" | ||
| subtitle: "A new era for PrestaShop themes" | ||
| date: 2025-11-26 | ||
| authors: [ GericFosse, ThibaultBlivet ] | ||
| icon: icon-leaf | ||
| tags: [ theme ] | ||
| --- | ||
|
|
||
| We are thrilled to announce the release of **Hummingbird v2.0.0 Beta**. This milestone is the result of a monumental effort, representing more than **320 commits, 500 file changes, 50,000 additions**, and **30,000 deletions**. The goal is to deliver a developer-first, lightweight, and modular theme that establishes a new standard for the PrestaShop ecosystem. | ||
|
|
||
|  | ||
|
|
||
| Hummingbird will become the **new default theme** in PrestaShop starting from **version 9.1**, while the Classic theme will remain available. It is fully compatible with **PrestaShop 9 and above**. | ||
|
|
||
| Unlike traditional themes designed primarily for end users, Hummingbird provides a structured, scalable foundation that enables developers and agencies to build and customize e-commerce stores with ease and efficiency. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## 1. Vision: A Developer-Centric Foundation | ||
|
|
||
| The current ecosystem faces limitations due to the rigid and outdated Classic theme. Hummingbird resolves these issues with an approach that is: | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - **Developer-first:** Built by developers, for developers, focusing on customization and flexibility. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Performance-driven:** Optimized for speed, efficiency, and Core Web Vitals. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Future-proof:** A modern base theme designed to evolve alongside PrestaShop and modern web standards. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **High-quality integration:** Cleaner, more consistent integration across the entire theme, resulting in higher overall implementation quality. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## 2. Key New Features in v2.0 | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| This major release introduces a modernized tech stack and a fully rethought architecture to streamline development. | ||
|
|
||
| ### Modern Tech Stack & Bootstrap 5 | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - **Bootstrap 5:** Full adoption of Bootstrap **5.3.3**, taking advantage of native components and reducing reliance on external libraries. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **SCSS + TypeScript:** A transition to modern, scalable technologies that improve maintainability. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Dark mode support:** Hummingbird is "Dark Mode Ready," leveraging native Bootstrap 5.3.0 dark mode capabilities. | ||
|
|
||
| ### Architecture & Developer Experience | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - **Modular architecture:** A logical file structure makes it easier for developers to read, extend, and maintain code. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Style harmonization:** Cleaner, more consistent templates and styles across the theme for a higher-quality rendering. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **BEM convention:** Adoption of the <a href="https://www.markdownguide.org" target="_blank">BEM (Block Element Modifier)</a> methodology for non-Bootstrap components to improve readability and reusability. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Performance, SEO & Accessibility | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - **Pre-optimized for Core Web Vitals:** Faster loading, better UX, and improved responsiveness. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Native lazy loading:** Reduces resource usage and speeds up navigation. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **SEO optimization:** Embedded in-sight SEO optimizations and structured data (JSON-LD) for better search engine visibility. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Accessibility:** Compliant with **over 95%** of the requirements of the European Accessibility Act (EAA), ensuring inclusive user experiences. | ||
|
||
|
|
||
| ## 3. Lighthouse Performance | ||
|
|
||
|  | ||
|
|
||
| > Results are based on three key pages **Homepage**, **Category**, and **Product** and represent the average scores for **Performance**, **Accessibility**, **Best Practices**, and **SEO**. | ||
|
|
||
| ## 4. Backward Compatibility Breaks & Ecosystem Impact | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| To modernize the ecosystem, several changes were necessary. | ||
|
|
||
| - **jQuery removed from theme:** Hummingbird no longer uses jQuery internally. It remains available for modules that still rely on it, but we strongly recommend migrating away from it, as we plan to remove it in the future. | ||
| - **Bootstrap 5 migration:** Moving from Bootstrap 4 (Classic Theme) to Bootstrap 5 requires updates to class names and utilities. Modules should align with Bootstrap 5 for full compatibility. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Refactored native modules:** Key native modules have undergone major refactoring, including `ps_mainmenu`, `ps_facetedsearch`, `ps_featuredproducts`, and `productcomments`, among others. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## 5. Best Practices for Developers | ||
|
|
||
|  | ||
|
|
||
| To get the most out of Hummingbird v2.0.0, we recommend following these guidelines: | ||
|
|
||
| - **Leverage native components:** Use as many native Bootstrap components as possible. This reduces technical debt and ensures maximum flexibility. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **CSS layers:** We have introduced the use of `@layer` in CSS. Theme styles are now scoped into layers, and additional unlayered styles should take priority over theme styles. This provides more flexibility for customization or module style overrides, improves style-priority management, and helps prevent conflicts. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Follow the architecture:** Adhere to the new logical file structure and BEM conventions. Non-Bootstrap components should follow the BEM convention to ensure reusability across the theme when needed. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Bootstrap overrides:** A new Bootstrap override architecture has been implemented, allowing you to easily override SCSS variables by component, as well as override the components themselves if needed. This system is also based on the `@layer` functionality and ensures clean customization with a clear separation of concerns between Bootstrap and PrestaShop custom components. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Don't rely on classes for JS:** For many years, JavaScript interactivity relied on custom classes, often using the `js-` prefix though sometimes not. Over time, this led to inconsistent practices and made the ecosystem more complex to maintain. This is why we recommend using data attributes to define JavaScript interactions. Migration from classes to attributes has already begun and should continue over time to make maintenance and evolution easier. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| A more detailed technical blog post will follow soon, providing in-depth explanations and examples for these best practices. | ||
|
|
||
| ## 6. Call to Action | ||
|
|
||
| Hummingbird is intended to be the **new testing standard** for PrestaShop Marketplace modules. We need your expertise to refine it further. | ||
|
|
||
| - **Download the release:** [Hummingbird v2.0.0 Beta on GitHub](https://github.com/PrestaShop/hummingbird/releases). | ||
| - **Contribute:** Review our updated README and CONTRIBUTING file to get started. | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Report issues:** Help us stabilize the project for the official release by reporting issues/bugs on our [GitHub repository](https://github.com/PrestaShop/hummingbird/issues). | ||
tblivet marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||

Uh oh!
There was an error while loading. Please reload this page.