Shopify vs Magento: Perspektif Pengembang

Diterbitkan: 2019-04-23

Saat mencoba membuat keputusan antara Shopify dan Magento, Anda akan sering mendengar bahwa Shopify adalah solusi yang dihosting, sedangkan Magento adalah perangkat lunak sumber terbuka. Ini sering disebut sebagai perbedaan utama antara Shopify dan Magento. Solusi yang dihosting membebaskan Anda dari keharusan menginstal dan menghosting toko online Anda, tetapi perangkat lunak sumber terbuka memungkinkan Anda untuk menyesuaikan tingkat yang lebih besar.

Tapi apa artinya bagi pengembang dalam praktiknya, dan bagaimana pilihan itu berdampak pada pedagang dan pelanggan mereka?

Informasi keamanan

Di dunia Magento, setiap toko online memiliki instalasi independen dari perangkat lunak Magento. Ada sekitar 200.000 toko yang menjalankan Magento, dan semuanya menjalankan berbagai versi, modul, tambalan, dan penyesuaian.

Magento adalah perangkat lunak sumber terbuka, yang berarti kodenya (di semua versi dan tambalan) tersedia untuk umum bagi siapa saja untuk dilihat secara online. Ini, ditambah dengan fakta bahwa ada lebih dari 200.000 toko Magento di alam liar yang semuanya menangani data pelanggan dan pembayaran yang sensitif, menjadikan Magento target yang sangat menarik bagi pelaku jahat yang ingin menemukan dan mengeksploitasi kerentanan keamanan dalam perangkat lunak.

Saat tambalan keamanan dirilis oleh tim Magento, setiap toko Magento perlu diperbarui secara terpisah, dan setiap pedagang bertanggung jawab untuk memastikan hal ini terjadi. Proses ini seringkali diperumit oleh fakta bahwa toko Magento dapat sangat bervariasi dalam penerapannya. Pembaruan yang berhasil diterapkan ke satu toko dapat dengan mudah menyebabkan masalah saat diterapkan ke toko lain karena perbedaan dalam modul pihak ketiga, tema, atau kustomisasi lokal.

Untuk pedagang dan pengembang, ini dapat membuat beban kerja yang besar dan tidak terduga, seperti dalam kasus pembaruan keamanan SUPEE-6788 Magento. Pembaruan ini menambal beberapa kerentanan di Magento, tetapi juga merusak kompatibilitas dengan ratusan modul komunitas populer. Selain menerapkan tambalan keamanan, semua modul komunitas yang terpengaruh perlu diperbarui untuk kompatibilitas. Ini memberi pengembang pilihan sulit untuk menunggu vendor merilis versi terbaru dari modul komunitas mereka, atau memperbarui modul itu sendiri secara manual. Jika mereka menunggu vendor, toko Magento mereka tetap rentan; jika mereka memperbarui modul tersebut secara manual, kode modul tidak sinkron dengan versi vendor, yang berpotensi memperumit pemutakhiran di masa mendatang.

Dan tidak semua kerentanan keamanan dibuat sama. Ambil contoh SUPEE-5344, yang biasa disebut sebagai "bug pengutilan", kerentanan Magento yang memungkinkan penyerang mendapatkan akses admin ke toko dan akses penuh ke database-nya. Risiko yang Anda ambil dengan tidak menambal toko Magento Anda secara teratur sangat tinggi, dan proses penerapan patch keamanan yang terkadang rumit dan mahal telah mengakibatkan banyak toko Magento tetap tidak ditambal dan rentan hingga hari ini.

Sejak beralih ke pengembangan di platform Shopify Plus, saya tidak perlu menghabiskan waktu untuk menambal toko Shopify untuk kerentanan keamanan. Ini adalah salah satu keuntungan terbesar yang datang dengan memilih solusi yang dihosting daripada perangkat lunak sumber terbuka. Platform dan semua data sensitif dihosting dan diamankan oleh Shopify, sebuah perusahaan publik bernilai miliaran dolar.

Shopify bertanggung jawab untuk terus memperbarui platform mereka dan mengamankan data Anda, memungkinkan pengembang untuk lebih memfokuskan waktu mereka pada proyek yang akan membantu pedagang mencapai tujuan bisnis mereka.

Hosting, Lalu Lintas Web, Basis Data & Penskalaan

migrasi_skala

Dalam pengujian A/B, Amazon pernah menemukan bahwa penundaan 500 milidetik dalam kecepatan pemuatan halaman menyebabkan penurunan penjualan sebesar 5%. Google juga menemukan bahwa penundaan 500 milidetik menyebabkan penurunan lalu lintas pencarian dan pendapatan iklan sebesar 20%, serta membunuh kepuasan pengguna.

Mengoptimalkan kecepatan memuat halaman memang sangat penting.

Ini adalah area lain di mana solusi e-niaga yang dihosting seperti Shopify benar-benar bersinar. Toko online Anda dan semua media terkait dihosting oleh Shopify, dan model bisnis mereka berarti Shopify merasakan tekanan yang sama seperti Amazon untuk membuat halaman Anda memuat dengan cepat untuk memaksimalkan tingkat konversi. Toko online Anda selalu tersedia dan sangat cepat, dan tidak pernah menjadi perhatian pedagang atau pengembangnya.

Bekerja sebagai pengembang Magento, kecepatan memuat halaman dan memuat basis data selalu ada di pikiran Anda.

Magento adalah basis kode yang sangat besar yang terdiri dari ribuan file dan jutaan baris kode. Ini menyimpan konfigurasi sistem, modul, dan tata letak dalam sistem file sebagai file XML besar yang secara komputasi mahal untuk diuraikan. Ini mengimplementasikan model penyimpanan data Entitas-Atribut-Nilai, menyebarkan data terkait di banyak tabel berbeda dalam database, memerlukan kueri database yang rumit dan mahal bahkan untuk hal-hal sederhana seperti mengambil data produk. Semua ini menjadikan Magento salah satu platform yang paling menantang untuk dihosting dan diskalakan, dan seiring pertumbuhan lalu lintas ke situs Anda, solusi untuk tantangan tersebut menjadi semakin kompleks.

Agar semuanya berjalan lebih cepat dalam produksi, Magento mengimplementasikan banyak lapisan caching di tingkat aplikasi, termasuk cache untuk konfigurasi sistem, tata letak XML, keluaran blok HTML, dan pembuatan halaman penuh. Ini berarti bahwa sebagai pengembang, Anda harus memastikan (melalui pertimbangan dan pengujian yang cermat) bahwa semua penyesuaian lokal dan modul komunitas menggunakan semua cache ini dengan benar, karena bahkan satu pembatalan cache pun dapat berdampak dramatis pada kecepatan pemuatan halaman.

Untuk pedagang, ini semua berarti peningkatan biaya pengembangan dan hosting secara keseluruhan, dan waktu pemuatan halaman yang terasa lebih lambat di sebagian besar kasus.

Pengembangan, Teknologi & Sumber Daya

migrasi_frameworks

Dalam hal pengembangan, perbedaan utama antara Magento dan Shopify adalah bahwa Magento adalah kerangka kerja ecommerce monolitik, sedangkan Shopify adalah platform yang dihosting yang berinteraksi dengan beragam layanan eksternal.

Saat mengembangkan untuk Magento, semua aktivitas pengembangan Anda terjadi dalam kerangka kerjanya; Anda menambah dan memodifikasi kode dalam kerangka itu untuk memperluas dan memodifikasi fungsinya. Semua kode Anda diperluas dari inti Magento, yang menggunakan serangkaian teknologi yang telah ditentukan sebelumnya, dan mengatur dengan ketat cara Anda menggunakannya.

Sebagai pengembang Magento, Anda menulis PHP berorientasi objek yang diwarisi dari pustaka Zend di atas database MySQL, dengan Prototipe dan terkadang jQuery di bagian depan. Ini adalah kerangka kerja yang sangat rumit dan sangat spesifik, dan dibutuhkan banyak pelatihan khusus untuk menjadi produktif di dalamnya. Ini menambah biaya dan tingkat kesulitan untuk perekrutan dan orientasi.

Saat mengembangkan untuk Shopify, Anda memperluas dan memodifikasi fungsinya menggunakan kombinasi mesin template Liquid, Skrip Shopify, webhook, SDK JavaScript, dan dengan membuat aplikasi dan layanan khusus yang berinteraksi dengan platform Shopify secara eksternal.

Shopify menyediakan REST API yang kuat, yang memungkinkan akses kaya aplikasi eksternal ke platform Shopify, dan memberi pengembang kebebasan untuk membuat lebih banyak keputusan teknologi mereka sendiri. Anda dapat mengembangkan platform Shopify menggunakan bahasa pemrograman atau kerangka kerja apa pun yang Anda suka. Memberi developer dan agensi fleksibilitas untuk memilih dari teknologi yang lebih modern dan familiar memberikan banyak manfaat, termasuk peningkatan efisiensi developer, dan kemampuan untuk merekrut dari kumpulan talenta yang jauh lebih besar.

Apa Artinya Semua Ini untuk Pedagang

Memilih solusi e-niaga yang tepat untuk perusahaan Anda lebih dari sekadar daftar fitur dan kotak centang. Penting juga untuk mempertimbangkan apa dampak keputusan Anda terhadap siklus pengembangan, keamanan data pelanggan, dan kemampuan Anda untuk menskalakan platform agar sesuai dengan pertumbuhan bisnis Anda.

Dengan solusi yang dihosting seperti Shopify, data sensitif Anda umumnya akan lebih aman. Toko Anda akan memiliki waktu pemuatan halaman yang cepat secara konsisten, akan menskalakan secara otomatis, dan akan memiliki kapasitas yang hampir tidak terbatas untuk menyerap lonjakan lalu lintas web yang tiba-tiba. Dan yang terpenting, pengembang Anda akan diberdayakan untuk bekerja lebih efisien menggunakan teknologi modern dan familier, mengurangi biaya pengembangan, dan memungkinkan lebih banyak anggaran Anda digunakan untuk meningkatkan penjualan dan mencapai tujuan bisnis Anda.