E’ passato qualche tempo dal rilascio di Magento 2 e in MageSpecialist abbiamo potuto dedicare del tempo allo studio e allo sviluppo di progetti sulla nuova versione, sia Enterprise Edition che Community Edition.
Uno degli aspetti più interessanti della nuova piattaforma è il meccanismo dei service contracts, meccanismo che all’inizio è difficile da comprendere e da apprezzare, ma che nasconde una delle nuove armi segrete.
Chi ha lavorato con il buon vecchio Magento 1 avrà sicuramente sperimentato sulla propria pelle le difficoltà e le pene per aggiornare il proprio e-commerce da una versione all’altra. Sappiamo tutti che tra una release e l’altra spesso cambiavano nomi e comportamenti delle funzioni più interne, compromettendo di conseguenza il funzionamento dei moduli già installati, tema grafico compreso.
Gli sviluppatori sanno che questo effetto si chiama “regressione”, ovvero una “rottura” di una o più parti del nostro e-commerce a seguito dell’aggiunta di nuove funzionalità.
In Magento 2 è stato introdotto un nuovo meccanismo che dovrebbe risolvere il problema; Il meccanismo prende il nome di service contracts, ovvero una metodologia di sviluppo che richiederà agli sviluppatori di indicare quali parti delle proprie funzioni saranno da considerarsi compatibili per i futuri aggiornamenti.
Gli sviluppatori, anche quelli di Magento, dovranno considerare queste indicazioni allo stesso livello di un “contratto” con l’utente finale.
Questa nuova metodologia indicherà agli sviluppatori quali sono le parti di Magento su cui fare affidamento per realizzare i propri moduli garantendo una completa compatibilità durante gli aggiornamenti futuri.
L’effort richiesto per applicare questa metodologia, se comparato con lo sviluppo standard in Magento 1, sarà ovviamente superiore, ma consentirà una manutenibilità pressoché infinita del nostro e-commerce.
Uno sforzo maggiore in fase iniziale consentirà di godere di garanzie e di stabilità nel futuro, aspetto che dovrà sicuramente essere valutato da chi vorrà fare dell’e-commerce il proprio asset strategico.