Shopify ve Magento: Bir Geliştiricinin Bakış Açısı
Yayınlanan: 2019-04-23Shopify ve Magento arasında karar vermeye çalışırken, genellikle Shopify'ın barındırılan bir çözüm, Magento'nun ise açık kaynaklı bir yazılım olduğunu duyarsınız. Bu genellikle Shopify ve Magento arasındaki temel fark olarak belirtilir. Barındırılan çözüm, sizi çevrimiçi mağazanızı kurma ve barındırma zahmetinden kurtarır, ancak açık kaynaklı yazılım size daha fazla özelleştirilebilirlik sağlar.
Ancak bu, uygulamadaki geliştiriciler için gerçekten ne anlama geliyor ve bu seçim, tüccarları ve onların müşterilerini nasıl etkiliyor?
Bilgi Güvenliği
Magento dünyasında, her çevrimiçi mağaza, Magento yazılımının kendi bağımsız kurulumudur. Magento çalıştıran yaklaşık 200.000 mağaza var ve hepsinde birçok farklı sürüm, modül, yama ve özelleştirme çalışıyor.
Magento açık kaynaklı bir yazılımdır, yani kodu (tüm sürümlerde ve yamalarda) herkesin çevrimiçi olarak görüntülemesi için herkese açıktır. Bu, vahşi doğada tamamı hassas müşteri ve ödeme verilerini işleyen 200.000'den fazla Magento mağazası olduğu gerçeğiyle birleştiğinde, Magento'yu yazılımdaki güvenlik açıklarını bulup istismar etmek isteyen kötü niyetli aktörler için son derece çekici bir hedef haline getiriyor.
Magento ekibi tarafından bir güvenlik yaması yayınlandığında, her Magento mağazasının ayrı ayrı güncellenmesi gerekir ve bunun olmasını sağlamak her satıcının sorumluluğundadır. Bu süreç, Magento mağazalarının uygulamalarında çok büyük farklılıklar gösterebilmesi nedeniyle genellikle karmaşıktır. Bir mağazaya başarıyla uygulanan bir güncelleme, başka bir mağazaya uygulandığında üçüncü taraf modüller, temalar veya yerel özelleştirmelerdeki farklılıklar nedeniyle kolayca sorunlara neden olabilir.
Satıcılar ve geliştiriciler için bu, Magento'nun SUPEE-6788 güvenlik güncellemesinde olduğu gibi büyük ve beklenmedik bir iş yükü yaratabilir. Bu güncelleme, Magento'daki birkaç güvenlik açığını yamaladı, ancak aynı zamanda yüzlerce popüler topluluk modülüyle geriye dönük uyumluluğu da bozdu. Güvenlik düzeltme ekinin uygulanmasına ek olarak, etkilenen tüm topluluk modüllerinin uyumluluk açısından güncellenmesi gerekir. Bu, geliştiricilere satıcıların topluluk modüllerinin güncellenmiş sürümlerini yayınlamasını beklemek veya bu modülleri kendileri manuel olarak güncellemek gibi zor bir seçenek verdi. Satıcıları beklerlerse, Magento mağazaları savunmasız kalır; bu modülleri manuel olarak güncellerlerse, modül kodu satıcı sürümüyle senkronize olmaz ve potansiyel olarak gelecekteki yükseltmeleri karmaşık hale getirir.
Ve tüm güvenlik açıkları eşit yaratılmamıştır. Örneğin, saldırganların bir mağazaya yönetici erişimi ve veritabanına tam erişim elde etmesine izin veren bir Magento güvenlik açığı olan ve yaygın olarak "mağaza hırsızlığı hatası" olarak adlandırılan SUPEE-5344'ü ele alalım. Magento mağazanıza düzenli olarak yama uygulamayarak aldığınız risk son derece yüksektir ve bazen karmaşık ve maliyetli güvenlik yamaları uygulama süreci, birçok Magento mağazasının bugüne kadar yamasız ve savunmasız kalmasına neden olmuştur.
Shopify Plus platformunda geliştirmeye geçiş yaptığımdan beri, güvenlik açıkları için Shopify mağazalarına yama uygulamak için hiç zaman harcamak zorunda kalmadım. Bu, açık kaynaklı yazılım yerine barındırılan bir çözüm seçmenin getirdiği en büyük avantajlardan biridir. Platform ve tüm hassas veriler, milyarlarca dolarlık halka açık bir şirket olan Shopify tarafından barındırılır ve korunur.
Shopify, platformlarını güncel tutma ve verilerinizi güvende tutma sorumluluğunu üstlenerek geliştiricilerin zamanlarının çoğunu satıcıların iş hedeflerine ulaşmalarına yardımcı olacak projelere odaklamasına olanak tanır.
Barındırma, Web Trafiği, Veritabanları ve Ölçeklendirme
A/B testinde, Amazon bir keresinde sayfa yükleme hızlarındaki 500 milisaniyelik bir gecikmenin satışlarda %5'lik bir düşüşe neden olduğunu tespit etti. Google benzer şekilde 500 milisaniyelik bir gecikmenin arama trafiğinde ve reklam gelirinde %20'lik bir düşüşe neden olduğunu ve kullanıcı memnuniyetini öldürdüğünü tespit etti.
Sayfa yükleme hızlarını optimize etmek gerçekten çok önemlidir.
Bu, Shopify gibi barındırılan e-ticaret çözümlerinin gerçekten parladığı başka bir alandır. Çevrimiçi mağazanız ve ilişkili tüm medya Shopify tarafından barındırılır ve iş modeli, Shopify'ın, dönüşüm oranlarını en üst düzeye çıkarmak için sayfalarınızın hızlı yüklenmesini sağlamak için Amazon ile aynı baskıyı hissettiği anlamına gelir. Çevrimiçi mağazanız her zaman kullanılabilir ve çok hızlıdır ve satıcılar veya onların geliştiricileri için hiçbir zaman endişe kaynağı olmaz.
Bir Magento geliştiricisi olarak çalışırken, sayfa yükleme hızları ve veritabanı yükü sürekli olarak aklınızdadır.
Magento, binlerce dosya ve milyonlarca kod satırından oluşan çok büyük bir kod tabanıdır. Dosya sistemindeki sistem, modül ve düzen yapılandırmalarını ayrıştırması hesaplama açısından pahalı olan büyük XML dosyaları olarak depolar. İlgili verileri veritabanındaki birçok farklı tabloya yayarak, ürün verilerini almak gibi basit şeyler için bile karmaşık ve pahalı veritabanı sorguları gerektirerek Varlık-Öznitelik-Değer veri depolama modelini uygular. Tüm bunlar, Magento'yu barındırması ve ölçeklendirmesi en zorlu platformlardan biri yapar ve sitenize gelen trafik arttıkça, bu zorlukların çözümleri giderek daha karmaşık hale gelir.
Üretimde işlerin daha hızlı yürümesini sağlamak için Magento, sistem yapılandırması için önbellekler, mizanpaj XML'si, blok HTML çıktısı ve tam sayfa oluşturma dahil olmak üzere uygulama düzeyinde birçok önbelleğe alma katmanı uygular. Bu, bir geliştirici olarak, tüm yerel özelleştirmelerin ve topluluk modüllerinin tüm bu önbellekleri uygun şekilde kullandığından (dikkatli değerlendirme ve test yoluyla) emin olmanız gerektiği anlamına gelir, çünkü tek bir önbellek geçersiz kılma bile sayfa yükleme hızları üzerinde önemli bir etkiye sahip olabilir.
Satıcı için tüm bunlar, genel geliştirme ve barındırma maliyetlerinde bir artış ve çoğu durumda sayfa yükleme sürelerinin belirgin şekilde yavaşlaması anlamına gelir.
Geliştirme, Teknoloji ve Kaynaklar
Geliştirme açısından, Magento ve Shopify arasındaki temel fark, Magento'nun yekpare bir e-ticaret çerçevesi olması, Shopify'ın ise çok çeşitli harici hizmetlerle etkileşime giren barındırılan bir platform olmasıdır.
Magento için geliştirme yaparken, tüm geliştirme faaliyetleriniz onun çerçevesinde gerçekleşir; işlevselliğini genişletmek ve değiştirmek için bu çerçeve içindeki kodu ekler ve değiştirirsiniz. Tüm kodunuz, önceden tanımlanmış bir dizi teknoloji kullanan ve bunları nasıl kullandığınızı sıkı bir şekilde düzenleyen Magento çekirdeğinden uzanır.
Bir Magento geliştiricisi olarak, ön uçta Prototip ve bazen jQuery ile bir MySQL veritabanının üstüne Zend kitaplıklarından miras alan nesne yönelimli PHP yazarsınız. Bu çok karmaşık ve son derece ayrıntılı bir çerçevedir ve içinde verimli hale gelmek için çok fazla uzmanlık eğitimi gerekebilir. Bu, işe alma ve işe alma için maliyet ve bir derece zorluk ekler.
Shopify için geliştirme yaparken Liquid şablon motoru, Shopify Komut Dosyaları, web kancaları, JavaScript SDK'larının bir kombinasyonunu kullanarak ve Shopify platformuyla harici olarak etkileşime giren özel uygulamalar ve hizmetler oluşturarak işlevselliğini genişletir ve değiştirirsiniz.
Shopify, harici uygulamaların Shopify platformuna zengin erişimine izin veren ve geliştiricilere kendi teknoloji kararlarından daha fazlasını alma özgürlüğü veren güçlü bir REST API sağlar. Shopify platformu için dilediğiniz programlama dilini veya çerçevesini kullanarak geliştirme yapabilirsiniz. Geliştiricilere ve ajanslara daha modern ve tanıdık teknolojiler arasından seçim yapma esnekliği vermek, artırılmış geliştirici verimliliği ve çok daha büyük bir yetenek havuzundan işe alma yeteneği dahil olmak üzere birçok avantaj sağlar.
Tüccarlar için Tüm Bunların Anlamı
Şirketiniz için doğru e-ticaret çözümünü seçmek, yalnızca özellik listeleri ve onay kutularından daha fazlasıdır. Kararınızın geliştirme döngüsü, müşterilerinizin verilerinin güvenliği ve işinizin büyümesine ayak uyduracak şekilde platformu ölçeklendirme beceriniz üzerinde nasıl bir etkisinin olacağını da göz önünde bulundurmanız önemlidir.
Shopify gibi barındırılan bir çözümle, hassas verileriniz genel olarak daha güvenli olacaktır. Mağazanız sürekli olarak hızlı sayfa yükleme sürelerine sahip olacak, otomatik olarak ölçeklenecek ve web trafiğindeki ani patlamaları absorbe etmek için neredeyse sınırsız bir kapasiteye sahip olacaktır. Ve daha da önemlisi, geliştiricileriniz, modern ve tanıdık teknolojileri kullanarak daha verimli çalışmak üzere güçlendirilecek, geliştirme maliyetlerinizi azaltacak ve bütçenizin daha fazlasının satışları artırmaya ve iş hedeflerinize ulaşmaya gitmesine izin verecek.