EC-CUBEのカスタマイズ、ネットショップ制作メモ

主にEC-CUBEを利用したネットショップの制作、カスタマイズや独自機能の開発について

EC-CUBE4正式版がもうリリースだけど、今選ぶなら2系?3系?4系?

EC-CUBE4
2018年9月25日にEC-CUBEの次のメジャーバージョン、Version. 4.0.0 のRC版がリリースされました。
次の4系ではベースのフレームワークが既に開発が終了したSilexからSymfony3に変わりました。それ以外にも様々な改善がされています。正直3系より好きです。
特に、多言語対応とパフォーマンスの改善は素晴らしく、ざっくり3.0.16の倍早いです。体感はさらに上かな?と思います。
EC-CUBE3とEC-CUBE4のベンチマーク

カスタマイズもしやすくなった!

プラグインでのカスタマイズに関しては現状では3系よりも少し自由度が低い印象です。その代わり、本体のカスタマイズは断然しやすくなっており、EC-CUBEの本体のコードとの区別もしやすくなっています。
でも、まだRC版、2系もまだまだ根強い人気を誇っていますし*1、2系にしか対応していないプラグインも結構あります。
今、EC-CUBEを使ってネットショップを構築するとしたら、どのバージョンを使うのが正解なのでしょうか?

EC-CUBE 2系、3系、4系の各種サポート期限

どのバージョンを利用するか?において重要になってくるポイントが、そのバージョンのEC-CUBEのサポート期限とPHPや利用しているライブラリ、フレームワークのEOL*2です。
それらを鑑みてこんな感じになっております。

EC-CUBE PHP フレームワーク サポート期限
2.13系 5.4系*3 独自 ( PEAR ) 2024年6月30日*4
3.0系 5.3.9~7.1系 Silex 1.3系*5 2019年11月〜未定*6
4.0系 7.1系~ Symfony 3.4系 2021年11月〜

EC-CUBE 2.13系

2.13系は、愛用しているショップオーナーさんも多く、枯れた作りをしています。そのためPHPとかプログラミングとかに疎い人が自分でカスタマイズするのに一番とっつきやすい構造をしています。
ただ、その分テストや保守がやりにくかったりと、色々問題もあります。
おそらく一番愛されているバージョンではないでしょうか?
その愛もあって、2.13系はEC-CUBEのコアコミッターでもある大河内先生が「可能な限りサポートする!*7と言っています。
開発元のロックオンも、その要望の多さからサポート期限の延長を約束しています。
https://www.ec-cube.net/press/detail.php?press_id=212
なので、現在2.13系をご利用されている方は、RedHat系のOSを使っているなら焦ってバージョンアップとかしなくても大丈夫と思われます。2系から3系とか4系って、ほぼ作り直しになるので大変ですし...
ただ、これから新規で構築するのであれば、将来的なことを考えるとあまりオススメはできません。

EC-CUBE 3.0系

3系に関しては採用されているフレームワークのSilexが既に開発を終了しており*8、EOLも2018年6月と既に終了しています。利用しているSymfonyコンポーネントも2.7と少し古く、2019年5月にEOLを迎えます。*9
しかしながら非公式ではありますが、可能な限りサポートするという話をしていたので、まだ焦ってバージョンアップとかも必要ないかな?と思います。
ただ、今から新規で構築するサイトに3系を使うのは、少し心配です。

EC-CUBE 4.0系

EC-CUBE4では利用しているフレームワークがSymfony3.4系になっています。セキュリティサポートは2021年11月までとされており*10Symfonyは世界中で最も利用されているPHPフレームワークなのでその後も安心です。
おそらく、Symfony3.4系のサポートが切れる前にEC-CUBEもSymfony4系へとバージョンアップするでしょう。
ただ、4.0.0は要注意です。
concrete5でもそうなんですが、バージョン x.0.0 は大きな変更があった直後のバージョンなので、諸々バグが出る事が多いのです。とは言え、EC-CUBEの開発体制も昔に比べてかなりその辺りも改善されてきたので、そう大きなバグは出ないと思います。いや、願っています...
これから新規でネットショップを構築するなら、4.0.0で開発をスタートし、4.0.1を待ってリリースするのが良いと思います。多分、正式版の4.0.0がリリースされてから半年以内に4.0.1が出ます。

まとめ

以上の事から、現段階でEC-CUBEを使ってECサイトを新規構築するなら僕は4系を使うのが良いと思います。
少し時間に余裕をみて、4.0.1での修正を取り込んでからリリースするくらいの感覚ですね。
弊社でも4系での開発、カスタマイズは絶賛受付中ですので、ご興味がある方はぜひお問い合わせ願います。

*1: 2系もコミュニティメンバーによってサポート期限の延長が図られており、PHP 7系にも対応しようとしています。

*2: End Of Life

*3: 5.4をRedHatLinuxディストリビュージョンがサポート

*4: コミュニティでのサポート

*5: 既にSilexの開発は終了

*6: 可能な限り頑張る!

*7: 大河内先生は2系のお父さんです

*8: EC-CUBEが利用しているバージョンは1.3系で2016年以降リリースがありません

*9: https://symfony.com/roadmap/2.7

*10: https://symfony.com/roadmap/3.4