Wat is het verschil tussen Magento 1.x en 2.x?

Artikel aangemaakt: 23-11-2015 | Artikel gewijzigd: 23-11-2015

Magento 2 bevat een flink aantal wijzigingen ten opzichte van Magento 1.x. Daarbij zijn een flink aantal wijzigingen aangebracht waarmee de performance van het CMS flink is verbeterd.


1. Nieuwe mappen en bestandsstructuur

Er zijn twee grote wijzigingen aangebracht in de structuur van Magento. Waar je voorheen nog een lange lijst aan mappen tegen kwam in de root zijn deze voor het grotendeel nu onder de /app onder gebracht. Daarnaast heeft iedere module een eigen VIEW directory waar de eigen template, layout, css/less bestanden geplaatst worden.

Door deze wijziging is het mogelijk geworden voor ontwikkelaars om hun module volledig te stylen zonder de core functies van Magento aan te passen.

Magento 2 kent 4 soorten directories;

  • Primaire directories; zoals /app/code en /lib mogen niet aangepast worden.
  • System directories; zoals /var/di, /var/generation en /app/etc.
  • Applicatie directories zoals applicatie directorie /app/code, design directory /app/design, var directory /var, tijdelijke directory /var/tmp, cache directory /var/cache, log directory /var/log, sessie directory /var/session en systmp directory sys_get_temp_dir().
  • Publieke directories zoals /pub bevat /pub/lib, media directory /pub/media, upload directory /pub/upload, static directory /pub/static en pub_view_cache directory /pub/cache.

    De locatie van de system, applicatie en publieke directory kan worden gewijzigd met de EntryPoint Class:
$result = $entryPoint->run('MagentoAppHttp', array(
    'app_dirs' => array(
        DirectoryList::MEDIA => array(
            'path' => 'pub/media.test',
            'uri' => 'pub/media'
        )
    )
));
 
2. Performance en schaalbaarheid
  • Indexering; Magento 1.x was voor de grotere shops lastig doordat door het grote aantal producten de indexering erg lang duurde. De grens van 20.000 producten was voor Magento Community Edition nog net te doen, daar boven was het opslaan van artikelen of het handmatig draaien van de indexering vrijwel onmogelijk. De enterprise versie had een groot deel van de problemen niet omdat de indexering hier professioneler was ingericht.

    Magento 2 bevat dezelfde functionaliteit als de Enterprise editie, waardoor het opschalen met Magento CE iets verder opgerekt wordt.
  • Magento performance toolkit; om de systeem performance te kunnen testen kunnen test omgevingen worden ingericht. Magento biedt hierbij een standaard aantal tests om de performance te testen.
  • Varnish; om de server belasting te verlagen en de snelheid waarmee een pagina laadt te verhogen is Magento 2 standaard uitgerust met Varnish Cache, deze lijdende HTTP accelerator technologie is verantwoordelijk voor cache op de meest voorkomende requests.
  • Net zoals Magento 1.x is Magento 2 uitgerust met een Full Page Cache. Waardoor niet iedere opvraag van een pagina lijdt tot een SQL query en PHP verwerking.
  • Magento 2 ondersteunt meerdere admin gebruikers.
 
3. CSS Preprocessing

Magento 2 gebruikt geen Bootstrap, maar gebruik zijn eigen LESS en CSS in het core thema. De publisher waarmee CSS gevonden en gepubliceerd kan worden bevind zich onder de /pub directory en ondersteund ook preprocessing van bestanden die door andere preprocessors zijn gepubliceerd. The CSS preprocessor, bijvoorbeeld, bestaat uit 2 individuele preprocessors;

  • LESS preprocessor; maakt samen met de LESS PHP adapter LESS mogelijk binnen Magento 2.
  • CSS URL resolver; dit onderdeel zorgt ervoor dat links die gevonden worden in de CSS kunnen resolven door gebruik te maken van de publisher en past deze aan naar de juiste links.

Voordelen:

  • Door het gebruik van LESS kan een thema sneller en gemakkelijker naar wens worden aangepast.
  • LESS preprocessor en CSS URL resolver verhogen de performance, het laden van pagina's en maakt het geheel zoekmachine vriendelijker.
4. Geen prototypes meer
Met Magento 2 stapt Magento definitief af van prototypes. Toen Magento 1.x werd geïntroduceerd was jQuery namelijk nog niet af en werd er daarom een eigen variant van jQuery gebruikt. Omdat de eisen van de Magento Community steeds hoger liggen is prototype nu volledig vervangen door jQuery.

Dit betekent niet dat prototype geheel is verwijderd uit Magento, maar meer dat je als ontwikkelaar nu kunt kiezen wat je gebruikt.

Magento 2 ondersteunt slechts één Javascript framework, waardoor er minder Java fouten zullen optreden als in Magento versie 1.x.
 
5. Upgrades
Het upgraden van Magento 2, maar ook het installeren is veel gemakkelijker dan in Magento 1.x.  Tijdens de installatie worden nu ook tests uitgevoerd waardoor je kunt zien of je webhosting aan alle eisen voldoet. Daarnaast kun je bij iedere extensie die updates behoeft zien wat de verschillen zijn met de vorige versie en op welke onderdelen van de webhosting dit invloed heeft (PHP extensies, libraries).
 
Om te upgraden naar Magento kun je de import en export functie gebruiken in Magento 1.x. Denk hierbij aan voorraad- en productinformatie, klantinformatie en andere standaard informatie. Al deze informatie kun je vervolgens importeren in Magento 2.
Afzender:
Ontvanger: