Aimeos has been one of the most famous Laravel’s ecommerce frameworks. Aimeos is a widely adaptable, scalable, versatile, and flexible ecommerce framework.
Aimeos team always aims to improve developers experience to provide their client a best level of ecommerce store. So, they are continuously looking for new releases with new improvements, functionalities, features, enhancements, and much more.
Aimeos has announced the first stable release of the year - Aimeos 2022.04 on the first week of May 2022, which includes more exciting new features and improvements. All enhancements are available for Laravel and TYPO3. This article explores Aimeos 2022.04’s key features and enhancements. On top of that, we will also detail how to apply those improvements wherever necessary.
Laravel 9 Long Term Support
Starting from April 2022, Aimeos is the first fully functional ecommerce framework which is supporting the new Laravel 9 long term support release. Laravel has updated Swiftmailer to the Symfony mailer package and FlySystem v3 which is the necessary change for the migration. Hire Laravel developers if your application requires to update to Laravel 9.
Integrated distribution based on Laravel 9
The integrated Aimeos distribution is based on Laravel 9 LTS along with Aimeos Laravel 2022.04 package which can be included to every existing Laravel 9 installation. The Aimeos distribution includes CMS (Content Management System) and shopping cart functionalities. Execute this on the command line if PHP and the composer package manager are installed:
php composer create-project aimeos/aimeos myshop
Laravel 9 New Aimeos Headless Distribution
Additionally, with Aimeos 2022.04 release; Laravel 9 based Aimeos Headless distribution is also available now. If you want to develop progressive web applications based on ReactJS, VueJS or any other JS framework, the headless distribution of Aimeos is suitable. It also contains the admin backend, world-class Aimeos JSON REST API (Application Programming Interface), the pre-configured JSO web token (JWT) package for Laravel. It does not include the traditional HTML front end.
Developer experience (via Radically simplified HTML client code base)
The Aimeos team invested a lot of efforts in improving the experience for developers, particularly the need to compose less boilerplate code while executing own HTML clients. Subsequently, the important code for adding another HTML part in the frontend is presently decreased to the absolute minimum. You just must compose the code you truly need now, and extra functions or methods are not needed any longer since there are default executions accessible for them.
Also, the directory structure has been made easy however much as could be expected. Functions and Strategies have been shortened and the main ones just comprises of a solitary word now. A couple of instances of renamed strategies are:
getContext() -> context()
getBody() -> body()
addData() -> data()
Top scores of 100% for Google Lighthouse
Aimeos previously accomplished top scores for desktops in the past but however for mobiles, the performance score arrived at a most extreme worth of 70. A few changes have expanded the score to about 100 at this point.
The main change was to separate the three fundamental Aimeos CSS and JS files into one CSS/JS document per component. Presently, all CSS decides and JavaScript code that is utilized exclusively by for e.g., the catalog detail component has been moved their own catalog-detail.css and catalog-detail.js files. They are sent to browser assuming the list detail part is utilized at the mentioned page. In this manner, the browser does not have to fetch and parse unused CSS/JS code anymore which can abbreviate page stacks particularly on slow devices/networks.
Besides, the used Slick slider contains a JS code which is executed after the document is completely loaded. This expands the "time to interactive" until the users can cooperate with the page yet it is essential incentive for Google Lighthouse and vigorously influences the score. Presently, Aimeos utilizes SwiffySlider, a slider in view of CSS animations with little JS code. It is feature-rich, and meaningfully affects execution.
Bootstrap 5 w/o jQuery
Bootstrap 5 has been utilized in the backend since Aimeos 2021.04 and presently, the default frontend theme has changed to Bootstrap 5 as well. This permitted us to dump the jQuery library for vanilla JavaScript yet that ended up being more code than previously. Here is a code model for jQuery and vanilly JS:
// jQuery
$('.class')
// vanilla JS
document.querySelectorAll('.class')
Vanilly JS is inconveniently contrasted with compared to terse code you can compose with jQuery. To get short code without the bloat of jQuery, we presently utilize the Cash DOM (Document Object Model) library. It offers a similar linguistic structure as jQuery for the "$" function and the collection techniques yet do not contain the similar code for old browsers and use local browser functionality. It additionally utilizes the new JS fetch API offered locally by modern-day browsers rather than the jQuery get()/post() techniques.
Upscheme migrations
Since 2022.01, Aimeos involves Upscheme for relocating the information schema and the actual data. Contrasted with utilizing Doctrine DBAL directly, this reduced the necessary lines of code up to 80% and making/refreshing a table currently seems to be:
$this->db( 'db-message' )->table( 'message', function( Table $t ) { $t->id(); $t->type(); $t->string( 'label' ); $t->bool( 'status' ); $t->meta(); });
All arrangement undertakings are presently situated in “setup” directory of the Aimeos core and the extensions. There is now an Upscheme article accessible which explains how to execute tasks in Aimeos 2022.x and later.
Boost the performance
The basic data structure has been modified to enhance performance of Aimeos further. Before, items have been referred to in the "mshop_catalog_list" table by categories and in the "mshop_supplier_list" table by suppliers. This expected fetching categories and suppliers for items in two separate queries and particularly for document-oriented storages like ElasticSearch, it enforced refreshing the documents twice.
Presently, categories and suppliers are combined to items rather than the alternate way round, so just a single extra inquiry for every area is fetched to bring that information for the frontend. It is currently perfectly in accordance with document-oriented database can lessen indexing time radically.
We are official international ecommerce expert partners of Aimeos.
We provide complete Aimeos ecommerce development services including store design, development, customization, content management, upgrades, migration, multi-channel multi-vendor marketplace, multi-tenant SaaS (Software as a Service) solutions, maintenance, and support. Our expert Laravel developers are experienced in handling multidisciplinary and multi-technology projects of all sizes. In case if you have any requirements, feel free to share all your requirements via request a quote form!