Shopify vs Magento: o perspectivă a dezvoltatorului

Publicat: 2019-04-23

Când încercați să luați o decizie între Shopify și Magento, veți auzi adesea că Shopify este o soluție găzduită, în timp ce Magento este un software open-source. Aceasta este adesea citată ca diferența cheie între Shopify și Magento. Soluția găzduită vă scutește de instalarea și găzduirea magazinului dvs. online, dar software-ul open-source vă permite un grad mai mare de personalizare.

Dar ce înseamnă asta cu adevărat pentru dezvoltatori în practică și cum îi afectează această alegere comercianții și clienții lor?

Securitatea informațiilor

În lumea Magento, fiecare magazin online este propria sa instalație independentă a software-ului Magento. Există aproximativ 200.000 de magazine care rulează Magento și toate rulează multe versiuni, module, patch-uri și personalizări diferite.

Magento este un software open-source, ceea ce înseamnă că codul său (în toate versiunile și patch-urile) este disponibil public pentru a fi vizualizat online de oricine. Acest lucru, împreună cu faptul că există peste 200.000 de magazine Magento în sălbăticie, care gestionează date sensibile despre clienți și plăți, face din Magento o țintă extrem de atractivă pentru actorii rău intenționați care doresc să găsească și să exploateze vulnerabilitățile de securitate din software.

Când echipa Magento lansează o corecție de securitate, fiecare magazin Magento trebuie actualizat separat și este responsabilitatea fiecărui comerciant să se asigure că acest lucru se întâmplă. Acest proces este adesea complicat de faptul că magazinele Magento pot varia atât de dramatic în implementarea lor. O actualizare care se aplică cu succes unui magazin ar putea cauza cu ușurință probleme atunci când este aplicată unui alt magazin din cauza diferențelor dintre modulele terță parte, temele sau personalizările locale.

Pentru comercianți și dezvoltatori, acest lucru poate crea o sarcină de lucru mare și neașteptată, ca în cazul actualizării de securitate SUPEE-6788 de la Magento. Această actualizare a corectat mai multe vulnerabilități în Magento, dar a rupt și compatibilitatea cu sute de module populare ale comunității. Pe lângă aplicarea patch-ului de securitate, toate modulele comunității afectate ar trebui actualizate pentru compatibilitate. Acest lucru le-a oferit dezvoltatorilor alegerea dificilă fie să aștepte ca furnizorii să lanseze versiuni actualizate ale modulelor comunității lor, fie să actualizeze manual acele module ei înșiși. Dacă așteaptă vânzătorii, magazinul lor Magento rămâne vulnerabil; dacă actualizează manual acele module, codul modulului nu se sincronizează cu versiunea furnizorului, ceea ce poate complica actualizările viitoare.

Și nu toate vulnerabilitățile de securitate sunt create egale. Să luăm, de exemplu, SUPEE-5344, denumit în mod obișnuit „bucătul furtului”, o vulnerabilitate Magento care a permis atacatorilor să obțină acces de administrator la un magazin și acces complet la baza de date a acestuia. Riscul pe care vi-l asumați dacă nu vă corecționați în mod regulat magazinul Magento este extrem de mare, iar procesul uneori complicat și costisitor de aplicare a corecțiilor de securitate a făcut ca multe magazine Magento să rămână necorecte și vulnerabile până în prezent.

De când am trecut la dezvoltarea pe platforma Shopify Plus, nu am fost nevoit să petrec deloc timp corecând magazinele Shopify pentru vulnerabilități de securitate. Acesta este unul dintre cele mai mari avantaje ale alegerii unei soluții găzduite față de software-ul open-source. Platforma și toate datele sensibile sunt găzduite și securizate de Shopify, o companie de mai multe miliarde de dolari tranzacționată la bursă.

Shopify își asumă responsabilitatea de a-și menține platforma actualizată și datele tale în siguranță, permițând dezvoltatorilor să-și concentreze mai mult timp pe proiecte care îi vor ajuta pe comercianți să-și atingă obiectivele de afaceri.

Gazduire, trafic web, baze de date si scalare

migration_scaling

În testele A/B, Amazon a descoperit odată că o întârziere de 500 de milisecunde a vitezei de încărcare a paginii a cauzat o scădere cu 5% a vânzărilor. În mod similar, Google a descoperit că o întârziere de 500 de milisecunde a cauzat o scădere cu 20% a traficului de căutare și a veniturilor publicitare și a ucis satisfacția utilizatorilor.

Optimizarea vitezei de încărcare a paginii este într-adevăr foarte importantă.

Acesta este un alt domeniu în care soluțiile de comerț electronic găzduite precum Shopify strălucesc cu adevărat. Magazinul dvs. online și toate mediile asociate sunt găzduite de Shopify, iar modelul lor de afaceri înseamnă că Shopify simte aceeași presiune ca Amazon pentru a vă menține paginile să se încarce rapid pentru a maximiza ratele de conversie. Magazinul dvs. online este întotdeauna disponibil și foarte rapid și nu este niciodată o preocupare pentru comercianți sau dezvoltatorii lor.

Lucrând ca dezvoltator Magento, vitezele de încărcare a paginii și încărcarea bazei de date sunt în mod constant în mintea ta.

Magento este o bază de cod foarte mare, compusă din mii de fișiere și milioane de linii de cod. Stochează configurațiile de sistem, module și aspect în sistemul de fișiere ca fișiere XML mari, care sunt costisitoare din punct de vedere computațional de analizat. Implementează modelul Entitate-Atribut-Valoare de stocare a datelor, răspândind datele aferente în multe tabele diferite din baza de date, necesitând interogări complicate și costisitoare în baza de date chiar și pentru lucruri simple, cum ar fi recuperarea datelor despre produse. Toate acestea fac din Magento una dintre cele mai dificile platforme de găzduit și scalat, iar pe măsură ce traficul către site-ul dvs. crește, soluțiile la aceste provocări devin din ce în ce mai complexe.

Pentru a face lucrurile să ruleze mai repede în producție, Magento implementează multe straturi de stocare în cache la nivel de aplicație, inclusiv cache-uri pentru configurarea sistemului, format XML, blocarea ieșirii HTML și generarea întregii pagini. Aceasta înseamnă că, în calitate de dezvoltator, trebuie să vă asigurați (prin analiză și testare atentă) că toate personalizările locale și modulele comunității utilizează în mod corespunzător toate aceste cache-uri, deoarece chiar și o singură invalidare a memoriei cache poate avea un impact dramatic asupra vitezei de încărcare a paginii.

Pentru comerciant, totul se traduce printr-o creștere a costurilor generale de dezvoltare și găzduire și timpi de încărcare a paginii considerabil mai lent în majoritatea cazurilor.

Dezvoltare, Tehnologie și Resurse

migration_frameworks

În ceea ce privește dezvoltarea, diferența principală dintre Magento și Shopify este că Magento este un cadru de comerț electronic monolitic, în timp ce Shopify este o platformă găzduită care interacționează cu o mare varietate de servicii externe.

Când dezvoltați pentru Magento, toată activitatea dvs. de dezvoltare are loc în cadrul acestuia; adăugați și modificați codul în acel cadru pentru a extinde și modifica funcționalitatea acestuia. Tot codul dvs. se extinde din nucleul Magento, care utilizează un set predefinit de tehnologii și reglementează strict modul în care le utilizați.

În calitate de dezvoltator Magento, scrieți PHP orientat pe obiecte moștenind din bibliotecile Zend deasupra unei baze de date MySQL, cu Prototype și uneori jQuery pe front-end. Este un cadru foarte complicat și foarte specificat și poate fi nevoie de multă pregătire specializată pentru a deveni productiv în el. Acest lucru adaugă costuri și un grad de dificultate la angajare și integrare.

Când dezvoltați pentru Shopify, extindeți și modificați funcționalitatea acesteia folosind o combinație a motorului de șabloane Liquid, Scripturi Shopify, webhook-uri, SDK-uri JavaScript și prin crearea de aplicații și servicii personalizate care interacționează cu platforma Shopify în exterior.

Shopify oferă un API REST puternic, care permite aplicațiilor externe acces bogat la platforma Shopify și oferă dezvoltatorilor libertatea de a lua mai multe decizii în materie de tehnologie. Puteți dezvolta pentru platforma Shopify folosind orice limbaj de programare sau cadru doriți. Oferirea dezvoltatorilor și agențiilor flexibilitatea de a alege dintre tehnologiile mai moderne și mai familiare conferă multe beneficii, inclusiv eficiență sporită a dezvoltatorilor și capacitatea de a angaja dintr-un grup de talente mult mai mare.

Ce înseamnă toate acestea pentru comercianți

Alegerea soluției potrivite de comerț electronic pentru compania dvs. înseamnă mai mult decât simple liste de funcții și casete de selectare. De asemenea, este important să luați în considerare impactul pe care îl va avea decizia dvs. asupra ciclului de dezvoltare, asupra securității datelor clienților dvs. și asupra capacității dvs. de a scala platforma pentru a se potrivi cu creșterea afacerii dvs.

Cu o soluție găzduită precum Shopify, datele dvs. sensibile vor fi în general mai sigure. Magazinul dvs. va avea timpi de încărcare a paginii în mod constant rapid, se va scala automat și va avea o capacitate aproape nelimitată de a absorbi exploziile bruște de trafic web. Și, important, dezvoltatorii dvs. vor fi împuterniciți să lucreze mai eficient folosind tehnologii moderne și familiare, reducând costurile de dezvoltare și permițând mai mult din bugetul dvs. să se îndrepte spre creșterea vânzărilor și atingerea obiectivelor dvs. de afaceri.