Shopify vs Magento: 開発者の視点
公開: 2019-04-23Shopify と Magento のどちらかを決定しようとすると、Shopify はホスト型ソリューションであるのに対し、Magento はオープンソース ソフトウェアであるとよく耳にします。 これは、Shopify と Magento の主な違いとしてよく挙げられます。 ホスト型ソリューションにより、オンライン ストアをインストールしてホストする必要がなくなりますが、オープン ソース ソフトウェアを使用すると、より高度なカスタマイズが可能になります。
しかし、それは開発者にとって実際には何を意味し、その選択はマーチャントとその顧客にどのような影響を与えるのでしょうか?
情報セキュリティー
Magento の世界では、すべてのオンライン ストアは、Magento ソフトウェアの独自の独立したインストールです。 Magento を実行している約 200,000 のストアがあり、それらはすべて、さまざまなバージョン、モジュール、パッチ、およびカスタマイズを実行しています。
Magento はオープンソース ソフトウェアです。つまり、そのコード (すべてのバージョンとパッチ) は誰でもオンラインで閲覧できるように公開されています。 これに加えて、200,000 を超える Magento ストアが世界中にあり、そのすべてが機密の顧客データと支払いデータを処理しているという事実と相まって、Magento は、ソフトウェアのセキュリティ脆弱性を見つけて悪用しようとする悪意のある攻撃者にとって非常に魅力的な標的となっています。
Magento チームによってセキュリティ パッチがリリースされると、すべての Magento ストアを個別に更新する必要があり、これを確実に行うのは各マーチャントの責任です。 このプロセスは、Magento ストアの実装が大幅に異なる可能性があるため、複雑になることがよくあります。 あるストアに正常に適用された更新プログラムは、サード パーティのモジュール、テーマ、またはローカルのカスタマイズの違いにより、別のストアに適用すると簡単に問題を引き起こす可能性があります。
マーチャントや開発者にとって、Magento の SUPEE-6788 セキュリティ アップデートの場合のように、これは大規模で予期しないワークロードを生み出す可能性があります。 このアップデートは、Magento のいくつかの脆弱性にパッチを当てましたが、数百の一般的なコミュニティ モジュールとの後方互換性も破壊しました。 セキュリティ パッチの適用に加えて、影響を受けるすべてのコミュニティ モジュールを互換性のために更新する必要があります。 これにより、開発者は、ベンダーがコミュニティ モジュールの更新バージョンをリリースするのを待つか、それらのモジュール自体を手動で更新するかの難しい選択を迫られました。 彼らがベンダーを待っている場合、Magento ストアは脆弱なままです。 これらのモジュールを手動で更新すると、モジュール コードがベンダー バージョンと同期しなくなり、将来のアップグレードが複雑になる可能性があります。
また、すべてのセキュリティ脆弱性が同じように作成されるわけではありません。 たとえば、一般に「万引きバグ」と呼ばれる SUPEE-5344 は、攻撃者がストアへの管理者アクセスとそのデータベースへのフル アクセスを取得できる Magento の脆弱性です。 Magento ストアに定期的にパッチを適用しないことによるリスクは非常に高く、セキュリティ パッチを適用するプロセスが複雑でコストがかかる場合があるため、多くの Magento ストアがパッチを適用されておらず、今日に至るまで脆弱なままになっています。
Shopify Plus プラットフォームでの開発に切り替えて以来、Shopify ストアのセキュリティ脆弱性を修正するために時間を費やす必要はありませんでした。 これは、オープンソース ソフトウェアではなくホスト型ソリューションを選択する最大の利点の 1 つです。 プラットフォームとすべての機密データは、数十億ドル規模の株式公開企業である Shopify によってホストされ、保護されています。
Shopify は、プラットフォームを最新の状態に保ち、データを安全に保つ責任を負います。これにより、開発者はマーチャントがビジネス目標を達成するのに役立つプロジェクトにより多くの時間を集中できるようになります。
ホスティング、Web トラフィック、データベース、スケーリング
Amazon は A/B テストで、ページの読み込み速度が 500 ミリ秒遅れると売上が 5% 減少することを発見しました。 Google も同様に、500 ミリ秒の遅延が検索トラフィックと広告収入の 20% の低下を引き起こし、ユーザーの満足度を損なうことを発見しました。
ページの読み込み速度を最適化することは非常に重要です。
これは、Shopify のようなホストされた e コマース ソリューションが本当に優れているもう 1 つの領域です。 あなたのオンライン ストアと関連するすべてのメディアは Shopify によってホストされており、そのビジネス モデルは、Shopify が Amazon と同じようにページの読み込み速度を維持してコンバージョン率を最大化するというプレッシャーを感じていることを意味します。 あなたのオンライン ストアは常に利用可能で、非常に高速です。マーチャントやその開発者が心配することはありません。
Magento 開発者として働いていると、ページの読み込み速度とデータベースの負荷が常に頭に浮かびます。
Magento は、数千のファイルと数百万行のコードで構成される非常に大きなコードベースです。 システム、モジュール、およびレイアウト構成を、解析に計算コストがかかる大きな XML ファイルとしてファイル システムに格納します。 データ ストレージの Entity-Attribute-Value モデルを実装し、データベース内のさまざまなテーブルに関連データを分散させ、製品データの取得などの単純なことであっても、複雑でコストのかかるデータベース クエリを必要とします。 これらすべてにより、Magento はホストとスケーリングが最も困難なプラットフォームの 1 つになり、サイトへのトラフィックが増加するにつれて、これらの課題に対するソリューションはますます複雑になります。
本番環境での処理を高速化するために、Magento はアプリケーション レベルで多くのキャッシング レイヤーを実装しています。これには、システム構成、レイアウト XML、ブロック HTML 出力、フル ページ生成用のキャッシュが含まれます。 つまり、開発者は (慎重な検討とテストを通じて) すべてのローカル カスタマイズとコミュニティ モジュールがこれらすべてのキャッシュを適切に利用していることを確認する必要があります。これは、1 つのキャッシュの無効化でもページの読み込み速度に劇的な影響を与える可能性があるためです。
マーチャントにとって、これはすべて、全体的な開発およびホスティング コストの増加につながり、ほとんどの場合、ページの読み込み時間が著しく遅くなります。
開発、技術、リソース
開発に関して、Magento と Shopify の主な違いは、Magento がモノリシックな e コマース フレームワークであるのに対し、Shopify はさまざまな外部サービスとやり取りするホストされたプラットフォームであることです。
Magento 向けに開発する場合、すべての開発アクティビティはそのフレームワーク内で行われます。 そのフレームワーク内のコードを追加および変更して、その機能を拡張および変更します。 すべてのコードは、定義済みの一連のテクノロジを利用する Magento コアから拡張され、それらの使用方法を厳密に規制します。
Magento 開発者として、Zend ライブラリから継承したオブジェクト指向の PHP を MySQL データベースの上に記述し、フロントエンドに Prototype と場合によっては jQuery を使用します。 これは非常に複雑で高度に指定されたフレームワークであり、生産性を高めるには多くの専門的なトレーニングが必要になる場合があります。 これにより、採用とオンボーディングにコストと難易度が追加されます。
Shopify 向けに開発する場合、Liquid テンプレート エンジン、Shopify スクリプト、Webhook、JavaScript SDK を組み合わせて使用し、Shopify プラットフォームと外部的にやり取りするカスタム アプリケーションとサービスを作成することによって、その機能を拡張および変更します。
Shopify は強力な REST API を提供します。これにより、外部アプリケーションは Shopify プラットフォームに豊富にアクセスできるようになり、開発者は技術に関するより多くの決定を自由に行うことができます。 お好みのプログラミング言語やフレームワークを使用して、Shopify プラットフォーム向けに開発できます。 開発者やエージェンシーに、より最新で使い慣れたテクノロジーから選択できる柔軟性を与えることで、開発者の効率が向上し、より多くの人材プールから採用できるようになるなど、多くのメリットがもたらされます。
これがマーチャントにとって何を意味するか
会社に適した e コマース ソリューションを選択することは、機能リストやチェックボックスだけではありません。 また、決定が開発サイクル、顧客データのセキュリティ、およびビジネスの成長に合わせてプラットフォームを拡張する能力にどのような影響を与えるかを考慮することも重要です。
Shopify のようなホスト型ソリューションを使用すると、機密データは通常より安全になります。 あなたのストアは一貫して高速なページ読み込み時間を持ち、自動的にスケーリングし、Web トラフィックの突然のバーストを吸収するほぼ無制限の容量を備えています。 そして重要なことに、開発者は最新の使い慣れたテクノロジを使用してより効率的に作業できるようになり、開発コストが削減され、より多くの予算を売り上げの拡大とビジネス目標の達成に充てることができます。