Dzisiaj zajmiemy się porównaniem trzech wyjątkowych platform eCommerce – Magento, Shopware i Sylius.

Zacznijmy od następującego pytania: Dlaczego wybraliśmy właśnie te trzy platformy? Regularnie pracujemy z tymi platformami, podobnie jak wielu naszych klientów. W 2024 roku te trzy rozwiązania znalazły się wśród najczęściej wybieranych platform PHP w segmentach SMB i Enterprise, szczególnie w sytuacji kiedy istnieje potrzeba stworzenia spersonalizowanego projektu. Każda z platform posiada swoje unikalne atuty, dzięki czemu sprawdza się w różnych scenariuszach biznesowych i wymaganiach rozwojowych.

W tym porównaniu wyjdziemy poza marketingowe obietnice i przyjrzymy się rzeczywistym danym oraz praktycznym analizom. Przeanalizujemy architekturę, testy wydajności i wiele innych kluczowych parametrów związanych z tymi platformami.

Niezależnie od tego, czy planujesz rozpocząć nowy projekt eCommerce, czy migrować istniejący, pomoże Ci to podjąć decyzję opartą na faktach i aktualnych danych.


Spis treści


Dlaczego rynek eCommerce jest tak zróżnicowany?

Rynek eCommerce przeszedł ogromną transformację, która nabrała szczególnego tempa w okresie pandemii. Obecnie wykracza daleko poza podstawowe sklepy internetowe z koszykami i stronami produktowymi. Obserwujemy pojawienie się innowacyjnych modeli biznesowych, które stawiają technologię w centrum uwagi – od zaawansowanych marketplace’ów, przez platformy subskrypcyjne, po złożone rozwiązania eCommerce B2B.

Każda nowoczesna platforma eCommerce sprawdzi się w nieco różnych scenariuszach, posiadając odmienne mocne strony i optymalne „use-cases”. Ta różnorodność niesie ze sobą jednak poważne wyzwanie – osoby podejmujące decyzje biznesowe często nie zdają sobie sprawy, jak kluczowy jest wybór odpowiedniej platformy i jak długofalowy wpływ będzie to miało na rozwój technologiczny firmy. Bez sporego doświadczenia w branży, wybór odpowiedniego rozwiązania spośród wielu dostępnych opcji może być przytłaczający. W rezultacie wiele z nas polega na poradach reprezentantów platform, które nie zawsze odzwierciedlają rzeczywistą wydajność i możliwości.

Biorąc pod uwagę te wyzwania, dzisiejszy artykuł obiektywnie przygląda się trzem głównym platformom eCommerce – Sylius, Shopware i Magento. Zamiast polegać na marketingowych obietnicach czy stronniczych opiniach, skupimy się na wskaźnikach i liczbach, aby zapewnić jasne, rzeczowe porównanie, które pomoże w procesie wyboru platformy.

Ostatnie aktualizacje i zmiany w platformach

Ostatnie lata znacząco zmieniły wszystkie trzy platformy, co miało wpływ na ich pozycje w branży eCommerce. Zróbmy krótkie podsumowanie.

Historia Magento przybrała interesujący obrót, gdy Adobe przejęło platformę. Podczas gdy to przejęcie obiecało nowe możliwości integracji między dwoma ekosystemami, wywołało również pewną niepewność na rynku. Shopware strategicznie wykorzystało tę sytuację, uzyskując imponujące 100 milionów euro finansowania od PayPal, specjalnie ukierunkowane na pozyskiwanie klientów z ekosystemu Magento. Jednak podróż Shopware nie obyła się bez wyzwań. Wraz ze wzrostem presji finansowej inwestorzy zaczęli kwestionować strategię monetyzacji platformy. Doprowadziło to do znacznego wzrostu opłat licencyjnych — decyzji, która spowodowała wyraźny podział w społeczności Shopware i wywołała pewną reakcję wśród jej użytkowników.

Sylius również doświadczył swojej części transformacyjnych zmian. Platforma przeszła znaczną rotację w swoim Core Team, co ostatecznie doprowadziło do wystawienia firmy na sprzedaż.

Te wydarzenia z ostatnich trzech lat fundamentalnie zmieniły sytuację tych platform eCommerce. Każda zmiana odegrała kluczową rolę w określeniu obecnych pozycji rynkowych tych platform.

Jakie są kluczowe różnice między tymi platformami?

Magento zapisało się w historii eCommerce jako prawdziwy gigant, kontrolując w szczytowym momencie około 11% światowego rynku platform eCommerce. Ta imponująca pozycja nie była przypadkowa – Magento oferowało kompleksowe rozwiązanie „all-in-one”, które zawierało wszystkie kluczowe narzędzia niezbędne do prowadzenia skutecznego biznesu online. Od zaawansowanych systemów CRM, przez narzędzia mailingowe, po zaawansowane możliwości segmentacji klientów – wszystko było dostępne w ramach jednej platformy.

Jednak rynek eCommerce zaczął ewoluować w nieoczekiwanym kierunku. Pojawienie się wyspecjalizowanych rozwiązań SaaS (Software as a Service) zmieniło reguły gry. Podczas gdy Magento radziło sobie dobrze we wszystkich obszarach, nie mogło konkurować z narzędziami specjalizującymi się w konkretnych funkcjonalnościach. Ta sytuacja obnażyła główną słabość platformy – próbując być ekspertem we wszystkim, nie osiągnęła mistrzostwa w niczym.

Dodatkowym wyzwaniem okazała się nadmierna złożoność platformy. Firmy chcące stworzyć spersonalizowany sklep Magento zmagały się z całym ekosystemem nieużywanych funkcji, które zamiast usprawniać, utrudniały ich pracę.


Przechodząc do Shopware, rok 2019 przyniósł znaczącą zmianę na rynku platform eCommerce wraz z wprowadzeniem Shopware 6. Ta nowa wersja została zaprojektowana z myślą o równowadze między funkcjonalnością a elastycznością. Choć oferuje mniej (ale wciąż świetnych) wbudowanych funkcji niż konkurent, zapewnia większą elastyczność i przestrzeń do personalizacji.

Zamiast próbować konkurować w każdym możliwym obszarze, zdecydowali się skupić na integracji tradycyjnych funkcjonalności eCommerce z narzędziami do tworzenia i zarządzania cyfrowymi doświadczeniami klientów. Ta funkcjonalność, znana jako Digital Experience Platform (DXP), umożliwia spójne zarządzanie wszystkimi punktami styku z klientem, co czyni Shopware szczególnie atrakcyjnym wyborem dla sklepów B2C.

Warto jednak zauważyć, że Shopware pozostaje stosunkowo monolityczną platformą, co może mieć wpływ na wydajność i skalowalność – aspekty, które będą wyraźniej widoczne w naszych późniejszych porównawczych wskaźnikach.


Sylius wyróżnia się unikalnym podejściem do funkcjonalności. W przeciwieństwie do Magento czy Shopware, ta platforma kładzie nacisk na prostotę i minimalizm – ale nie należy tego mylić z ograniczeniami. Sylius kieruje się zasadą 80/20, oferując 80% najczęściej używanych funkcji eCommerce, pozostawiając przestrzeń na dostosowanie pozostałych 20% według specyficznych potrzeb biznesowych.

Ta filozofia sprawia, że Sylius jest szczególnie skuteczny w przypadku wschodzących modeli biznesowych. Marketplace’y, platformy B2B i innowacyjne projekty B2C, które wyznaczają nowe trendy rynkowe, czynią z Syliusa idealnego partnera technologicznego.

Jednak jeśli planujesz uruchomić standardowy sklep internetowy, Sylius może nie być najlepszym wyborem. W takich przypadkach prostsze platformy mogą lepiej odpowiadać podstawowym potrzebom eCommerce. Sylius doskonale sprawdza się w scenariuszach, gdzie standardowe rozwiązania nie wystarczają, a firmy wymagają głębokiej personalizacji i elastyczności.

Porównanie architektury

Każda wiodąca platforma eCommerce ma inne podejście do architektury systemu Magento, choć potężne w swoich możliwościach, opiera się na własnym, złożonym frameworku Magento. Ten czynnik często wymaga od programistów poświęcenia kilku miesięcy na naukę frameworka, zanim rozpoczną właściwą pracę nad projektem.


architektura-magento

Shopware prezentuje bardziej nowoczesne podejście, bazujące głównie na frameworku Symfony. Architektura platformy została zaprojektowana tak, aby umożliwić programistom wdrażanie i modyfikowanie najlepszych w swojej klasie rozwiązań. Ten świadomy wybór projektowy odzwierciedla zrozumienie, że współczesne projekty eCommerce często wymagają dostosowania i integracji z systemami zewnętrznymi.



Z kolei Sylius wyróżnia się elegancką prostotą swojej warstwowej architektury, wdrażając koncepcję monolitu modułowego. System jest zbudowany z niezależnych komponentów i bundli (które są zasadniczo komponentami dostosowanymi do środowiska Symfony), wraz z rdzeniem zawierającym kluczowe funkcjonalności, takie jak obsługa podatków, kategorii i promocji. Co najważniejsze, Sylius w pełni wykorzystuje możliwości frameworka Symfony, pozwalając programistom znającym Symfony na rozpoczęcie efektywnej pracy z platformą już po kilku dniach zapoznania się z dokumentacją.



Analiza statyczna Sylius, Shopware i Magento z wykorzystaniem PHPMetrics

Analiza statyczna to metoda badania podstawowych wskaźników kodu, takich jak jego objętość, potencjalne błędy, konstrukcja kodu itp. Mówiąc prościej, pomaga ona ocenić złożoność rozwiązania przed podjęciem decyzji o jego wykorzystaniu. W tym przypadku przyjrzeliśmy się wersjom open-source wszystkich trzech platform.

Liczba linii kodu (LOC)

Rozpocznijmy nasze szczegółowe porównanie od przyjrzenia się samej objętości kodu w każdej platformie. Liczby opowiadają interesującą historię: Sylius okazuje się znacznie lżejszy, posiadając około 6-7 razy mniej kodu niż Magento. Shopware z kolei plasuje się pośrodku między tymi dwiema platformami.



Objętość kodu ma bezpośredni wpływ na zdolność programistów do nawigacji i zrozumienia platformy. Gdy mamy do czynienia z prawie milionem linijek kodu w Magento, znalezienie konkretnej funkcjonalności staje się znaczącym wyzwaniem. Dla porównania, przy około 100 000 linijek w Syliusie, programiści mogą łatwiej zapoznać się ze strukturą kodu i intuicyjnie zlokalizować to, czego potrzebują, nawet gdy dokumentacja jest niewystarczająca.

Podejście Syliusa „mniej znaczy więcej” oferuje kolejną istotną zaletę: zapewnia solidną podstawę, z którą może pracować każdy programista Symfony bez konieczności uczenia się całkowicie nowego frameworka. Oznacza to, że zespoły mogą zacząć być produktywne znacznie szybciej, skupiając się na budowaniu niestandardowych funkcji, zamiast spędzać miesiące na nauce działania platformy.

Programowanie Zorientowane Obiektowo (OOP)

Zrozumienie struktury zorientowanej obiektowo każdej platformy dostarcza kluczowych informacji o ich utrzymywalności i rozszerzalności. Przyjrzyjmy się kilku kluczowym wskaźnikom, które ujawniają różnice w architekturze między tymi platformami.



Analizując metody, szczególnie wartościowe jest obliczenie stosunku metod do klas, ponieważ daje nam to ogólny pogląd na strukturę systemu. Ten wskaźnik jest szczególnie ważny przy rozważaniu potrzeb dostosowywania platformy. Umiejętność właściwego segmentowania i organizowania kodu staje się przydatna, gdy potrzebujemy podłączyć się do konkretnej funkcjonalności lub zmodyfikować określone zachowania w platformie.

Coupling

Te pomiary pokazują, jak ściśle powiązany jest kod – zasadniczo obrazując, jak bardzo różne części systemu są ze sobą wzajemnie połączone.

Complexity

Bugs

Bugi odnoszą się do przewidywanej liczby usterek i defektów w kodzie, pozwalając na ocenę jego jakości i stabilności.

Violations

„Violations” to przypadki łamania zasad i wytycznych kodowania, takie jak błędy, ostrzeżenia i komunikaty informacyjne, które mogą wpływać na jakość kodu.



Choć Sylius ma mniej linii kodu, to redukcja ta nie odbywa się kosztem funkcjonalności. Zamiast tego odzwierciedla zaangażowanie w wysokiej jakości, wydajny projekt kodu, gdzie każda linia służy jasnemu celowi.

Package

Pakiety to zbiory powiązanych klas i funkcji, zorganizowanych logicznie i strukturalnie w celu ułatwienia zarządzania i ponownego wykorzystania kodu w projekcie. Metryki mierzą strukturę i organizację kodu na poziomie pakietu, w tym zależności między pakietami i ich wewnętrzną strukturę.



Co to oznacza w praktyce?

Weźmy przykład implementacji modelu „orders” w każdej z platform. Różnice są znaczące: model zamówienia w Magento, choć czytelny, zawiera 4 400 linii kodu. Shopware oferuje bardziej uproszczoną wersję z 700 liniami, podczas gdy Sylius utrzymuje wyjątkowo zwięzłą formę – zaledwie 300 linii.

Te liczby to nie tylko efektowne wskaźniki – mają rzeczywisty wpływ na efektywność programowania. Bardziej kompaktowa baza kodu w Syliusie znacznie ułatwia programistom nawigację i zrozumienie logiki systemu. Choć dokładna różnica w objętości kodu różni się w zależności od porównywanych komponentów, ta proporcja skutecznie ilustruje ogólny trend złożoności kodu w tych platformach.

Co ważne, mniejsza baza kodu to nie tylko łatwiejsza nawigacja. Zmniejsza także potencjalne ryzyko występowania błędów, upraszcza proces utrzymania i sprawia, że system jest bardziej przystępny dla nowych programistów dołączających do projektu. Gdy pracujesz z 300 liniami kodu zamiast 4 400, możesz szybciej zlokalizować, zrozumieć i zmodyfikować funkcjonalność według potrzeb.

Podstawowa wydajność „out-of-the-box”

Używając tego samego środowiska serwerowego, najlepiej pasującego do PHP, na którym działają wszystkie trzy platformy, zmierzyliśmy popularne operacje eCommerce (wczytywanie strony produktu, dodawanie 450 produktów do koszyka, przetwarzanie zamówienia, itp.).

Ogólne wnioski dotyczące wydajności:

  • Sylius jest o 68% szybszy niż Magento
  • Sylius jest o 45% szybszy niż Shopware
  • Shopware jest o 42% szybszy niż Magento

Technologie te zostały przetestowane w tym samym środowisku

Nazwa serwera OVH SP-32 Server – E3-1270v6 – 32GB (BHS)
System operacyjny Ubuntu 16.04.2 LTS 4.4.30-mod-std-ipv6-64 x86_64
Procesor Intel Xeon E3-1270 v6 @ 3.80 GHz 1 Processor, 4 Cores, 8 Threads

Testy z wieloma równoczesnymi użytkownikami wykazały podobne wzorce. Należy jednak pamiętać, że te wyniki bazują na domyślnych instalacjach – wskaźniki będą się różnić po dodaniu integracji, zwiększeniu liczby produktów i wdrożeniu dodatkowych funkcji.

Główne kraje i liczba wdrożeń

Przyjrzyjmy się teraz obecności rynkowej tych trzech platform – jest to kluczowy czynnik przy rozważaniu dostępności integracji i programistów.

Magento jest liderem z prawie 130 000 wdrożeniami, z największą koncentracją w Stanach Zjednoczonych, Wielkiej Brytanii, Holandii, Niemczech i Włoszech. Ta powszechna adopcja odzwierciedla jego ugruntowaną pozycję na rynku.


packagist.com

Shopware ma ponad 26 000 wdrożeń. Jego obecność jest szczególnie silna w Niemczech, ze znacznie mniejszymi wskaźnikami adaptacji w Stanach Zjednoczonych, Szwajcarii i Austrii.


packagist.com

Sylius, z prawie 10 500 implementacjami, zajmuje znaczącą pozycję we Francji (gdzie Symfony jest szczególnie popularne), Hiszpanii i Stanach Zjednoczonych. Liczby te odzwierciedlają pozycję Sylius jako bardziej niszowego rozwiązania z mniejszym zespołem, chociaż sugerują również rosnącą akceptację na rynkach, które cenią jego podejście techniczne.


packagist.com

Społeczność

Magento ma największą społeczność wśród tych platform. Ma również największą liczbę otwartych zgłoszeń, co nie jest zaskakujące, biorąc pod uwagę jego popularność i rozbudowaną bazę kodu.

Warto zauważyć, że pomimo bycia najnowszym rozwiązaniem, Sylius zgromadził bardzo aktywną społeczność, która angażuje się zarówno na Slacku, jak i GitHubie. Ten poziom zaangażowania pokazuje rosnącą dynamikę platformy w przestrzeni eCommerce.

Jeśli chodzi o gwiazdki GitHub, warto wspomnieć, że liczby te odzwierciedlają tylko najnowszą wersję Shopware – połączenie wszystkich wersji dałoby inne wyniki. Co ciekawe, te wskaźniki społeczności w pewnym stopniu pokrywają się z wzorcami objętości kodu, które omówiliśmy w naszej analizie statycznej, sugerując korelację między rozmiarem bazy kodu a skalą społeczności.

Instalacje

Spójrzmy teraz na instalacje. Podczas gdy zarówno Magento, jak i Shopware odnotowały gwałtowny wzrost liczby instalacji podczas pandemii, po którym nastąpił spadek po ponownym otwarciu sklepów fizycznych, Sylius wykazuje stały wzrost nawet po powrocie do normalnej działalności biznesowej. Ten utrzymujący się wzrost sugeruje, że przyjęcie Sylius jest napędzane czymś więcej niż tylko cyfrową transformacją związaną z pandemią, co wskazuje na prawdziwe uznanie rynku dla jego technicznego podejścia.



Liczba specjalistów

Podczas gdy Magento prowadzi pod względem wyspecjalizowanych deweloperów ze względu na swoją dominację na rynku, istnieje ważny czynnik przy rozważaniu dostępności deweloperów dla Shopware i Sylius. Obie platformy korzystają z dużej puli deweloperów Symfony dostępnych na rynku. Ponieważ platformy te są zbudowane na Symfony, wielu doświadczonych programistów Symfony może szybko stać się biegłymi w Shopware lub Sylius, nawet jeśli wcześniej nie pracowali z tymi konkretnymi platformami.

Liczba specjalistów (LinkedIn)

  • Magento – 150 000
  • Shopware – 8700
  • Sylius – 1200 
  • Symfony – 140 000

Rozszerzenia

Dostępność gotowych do użycia rozszerzeń/pluginów również różni się w zależności od platformy. Magento prowadzi z ponad 4000 rozszerzeń, a tuż za nim plasuje się Shopware z ponad 3000. Chociaż Sylius ma mniej rozszerzeń w tym porównaniu, oferuje wyjątkową zaletę: wszystkie jego rozszerzenia są dostępne za darmo w Sylius Store.

Rozszerzenia:

  • Magento – 4172 (1021 darmowych)
  • Shopware – 2991 (471 darmowych)
  • Sylius – 469 (all darmowych) 
  • Symfony bundle – 2600

Co więcej, zarówno Shopware, jak i Sylius korzystają ze swojego fundamentu Symfony. Oznacza to, że programiści mogą wykorzystać rozległy ekosystem pakietów Symfony w projektach zbudowanych na jednej z tych platform, znacznie rozszerzając praktyczne opcje rozszerzeń poza sklepy tych platform.

Która platforma jest odpowiednia dla Ciebie?

Wybór technologii dla Twojego projektu zależy od tego, co chcesz zbudować, czego oczekujesz od technologii i jakimi zasobami technicznymi dysponujesz.

Wybierz Magento, jeśli:

  • Masz standardowy projekt do szybkiego wdrożenia
  • Zależy Ci na popularnym rozwiązaniu z dużą społecznością
  • Twój zespół nie jest zaznajomiony z innymi technologiami

Wybierz Shopware, jeśli:

  • Chcesz zbudować standardowy sklep B2C
  • Zależy Ci na systemie CMS
  • Twój zespół techniczny jest bardziej doświadczony
  • Potrzebujesz wielu gotowych funkcjonalności

Wybierz Sylius, jeśli:

  • Chcesz zbudować marketplace lub platformę B2B
  • Zamierzasz stworzyć niestandardową platformę, której nie ma jeszcze na rynku
  • Masz silny, technicznie kompetentny zespół

Zastanawiasz się, które rozwiązanie wybrać? Chętnie pomożemy Ci wybrać i doradzimy najlepsze rozwiązanie. Skorzystaj z bezpłatnej konsultacji.