PHP
EC-CUBE
EC-CUBE3
EC-CUBEDay 16

EC-CUBE1系・2系・3系・4系の違い

2K、3K って何??
どれを選んだらいいの??
という声をよく聞くので、まとめてみます。

EC-CUBE 0.9.x

2006年9月1日にリリースされたβバージョン。
PHP4系に対応。
リリース当初は、 FreeBSD, PostgreSQL のみに対応。
0.9.3 で MySQL 4.1 に対応。
0.9.6 で Windows, Linux に対応。
文字エンコーディングは EUC-JP だった。
この頃から改修され続け、現在も第一線で稼働し続けている伝説的なサイトもある模様。

EC-CUBE 1系

2007年2月14日にリリースされた正式リリースバージョン。
PHP4.x, 5.0.xに対応。
1.3.0 で、モバイル(ガラケー)対応。
1.4.0 あたりで、モジュール配信に対応。
当時は、CVS でバージョン管理され、情報は pukiwiki にまとめられていた。
HTML は、もちろんテーブルレイアウト。
最終バージョンは 1.4.5

1.3.4コミュニティ版

開発コミュニティからの要望を集約したバージョン。
UTF-8 対応、 Subversion でのバージョン管理、 Trac での課題管理が始まる。

EC-CUBE 2系

大きく分けて、 2.4以前、2.4系、2.11系、2.12系、2.13系に分けられる。
2.4系以降は、ミドルバージョンが変わると、データベースも含め、大きく構成が変更されるため、バージョンアップの難易度が高い。

2.0.x

2007年12月4日に正式版リリース。

当初、 1.5 として開発されていたが、プログラムのクラス構成や、ディレクトリ構成が大きく変更された ため、2.0 となる。

UTF-8 対応、複数カテゴリ、 CSSレイアウトへの対応など。
EC-CUBEオーナーズストアがオープンし、有償の自動アップデートサービス(現在は廃止)などもあった。

2系のアーキテクチャは、このバージョンがベースとなっている。
EC-CUBE2系 ってオレオレフレームワークだから〜 っていう話をよく聞くが、当時は PHP4, 5 と MySQL, PostgreSQL に対応し、1系のデータベースを大きく変更せずに移行可能な良いフレームワークが無かったので、自分たちで作るしかなかった。

2.1.x

2008年4月10日にリリース。
商品カテゴリCSVアップロード/ダウンロードの対応、共有SSL対応など。
共有SSL は、非SSL領域とディレクトリ階層が異なる場合は対応していない。

2.2.x

2.3.x に向けてのベータ版。
ここだけバージョン番号がイレギュラー...

2.3.x

2008年10月1日にリリース。
変更点はこちら

2.4.x

2009年5月19日にリリース。
最終バージョンである 2.4.4 は2010年6月29日にリリースされてた。
バグフィックスを中心にしたバージョンであり、開発人口も増え、安定していたので、多くのサイトに採用された。

開発コミュニティ版

comu-ver2 ブランチ で開発が続けられていた。
ナイトリービルドもあり、本家より開発が活発だったため人気があった。
Seasoft さんの貢献が偉大。
管理画面が CSS レイアウトになっている(pinerayさんの貢献)

2.11.x

2011年3月23日にリリース。
東日本大震災に負けないよう日本を元気にしよう!ということでリリース。
PHP4 にも対応している。

開発コミュニティ版をベースとし、大幅にリファクタリングされた。
複数お届け先への発送に対応。
2.11.2 で、スマートフォン対応。
データベース構造も、 2.4 から大きく変更され、 MySQL でのパフォーマンスも改善した。
特に商品規格のデータ構造がツリー構造になっており、再帰クエリの使用可能なデータベースでは大量のデータでもパフォーマンス向上が期待できる。

詳しくは gihyo.jp の連載 を参照。

2.4.4 からのデータ移行モジュール有

2.12.x

2012年5月31日にリリース
プラグイン機能を目玉としたバージョン。
2.11.x の商品規格データ構造が複雑すぎるということで、 2.4系に近いかたちに変更された。
PHP4 のサポートは無くなり、 PHP5.1.6 以降に対応

2.11.x からのデータ移行モジュール有

2.13.x

2013年9月19日にリリース。
2014年4月の消費税増税に対応したバージョン。
PHP5.3.3〜PHP5.6.x に対応。

2.12.x からのデータ移行モジュールは無いが、 seasoft さんの公開している SQL で、データ変換可能。

3系がリリースされたが、カスタマイズに関する情報や、ノウハウも多く蓄積されており、EC-CUBEの開発経験豊富なベンダーに根強い人気がある。
公式のサポート継続中。
RHEL/CentOS7 の PHP5.4 は 2024年6月30日まで使用できるため、最も末永くサポートされるバージョンとなっている。

2.17.x

PHP7 に対応したバージョン。鋭意開発中。

共有レンタルサーバーでもレイテンシ100msを切る驚異的なパフォーマンスを誇る。速いは正義!

EC-CUBE 3.0系、 3.1系

2015年7月1日にリリース
Silex + Symfony フレームワークの採用、ソースコードも全面的に書き換えられた。
PHP5.3.9以降の対応

Subversion + Trac から、 github へ SCM を移行した。
開発の主力は次期バージョンに移っており、バグフィックス中心の開発が続けられている。

積極的に新機能を使いたい人、オレオレフレームワーク嫌な人向けのバージョン。

のぶろぐさんの移行プラグインあり。(会員データ商品データ受注データ)

Symfony 2.7 系を使用している。ロングサポートバージョン(LTS)となっているが、Symfony プロジェクトとしてのサポート期間は 2019年5月まで となっているので注意すること。
また、 Silex は 2018年6月に開発終了している。

EC-CUBE 公式としては継続してサポート予定。
3.0系は、 3.0.17 が最終バージョン。

EC-CUBE 4系

2018年10月11日リリース。 Silex の開発中止となる関係上、 Silex を切り離して Symfony 3.4 ベースとなっている。
Symfony 3.4 のサポート期間は 2021年11月まで(約4年)なのと、 Symfony 4.4 のリリースが 2019年11月の予定となっているため、この頃には、さらに次期のバージョンがリリースされると思われる。
メジャーバージョンアップには、多くの工数がかかることが多いため、予め予算組みをしておいた方が良いだろう。

EC-CUBE 3.0.11以降のバージョン3系でも各種キャッシュを設定すれば、4.0と同等のパフォーマンスを出すことが可能。

TODO

  • 機能比較表とかも作りたい
  • データ構造の比較表とかも作りたい
  • バージョンアップ時の互換リストとかも作りたい
    • 顧客データの移行は比較的容易だけど、パスワードの暗号化方法が変わってるから気をつけてねとか