皆さん、こんにちは。穂満です。
今回はEC-CUBEの基本中の基本である、各バージョンの違いについて説明させて頂きます。
EC-CUBEのサイトに行ってEC-CUBEをダウンロードしようとすると、いくつかのバージョンがあることに気がつきます。
「う~、たくさんの中から選べっていわれても、よくわからなくてこまっちゃう。正式版っていうくらいだからきっとこれを選べば問題ないと思うけど・・・ナイトリービルド版っていう方が響きがかっこよくて素敵だわ。これならお隣の奥様にも自慢できそうね!ナイトリービルド版に決まりねっ!オホホホホ・・・」なんて、今晩の夜食を考えるような感覚でバージョンを選ぶと後悔してしまいますよ!
- EC-CUBE Ver2 (正式版)
EC-CUBE2の正式版です。文字コードはUTF-8になります。ちなみに、正式版といっても、見つかっていない不具合などを含んでいる可能性はありますが、どのバージョンを選んだらいいかわからない場合はこちらを選択すると無難でしょう。RC版やベータ版がある場合は、そちらが事実上一番新しいバージョンとなります。
- EC-CUBE Ver2 (RC版)
RC版とは、EC-CUBEの開発段階のうち、正式版候補としてのテスト工程に入ったもののことです。「ほぼ正式版なんだだけど、なんとなくいくらか調整がのこっているんだよなー」っていうバージョンとなります。正式版同様、文字コードはUTF-8です。制作会社がクライアントから新しい機能が使いたいと言われたときに選択することになるでしょう。
- EC-CUBE Ver2 (ベータ版)
ベータ版とは、EC-CUBEの開発段階のうち、これまでにない新しい機能が追加になった際、先行して利用できるようにしたバージョンのことです。ベータ版である程度不具合が出つくしたら、その機能が正式版に組み込まれることになります。こちらもUTF-8です。こちらもRC版同様、正式版を待ち切れずに制作会社が選択する事が多いでしょう。
- EC-CUBE Ver1 (正式版)
EC-CUBE1系の正式版です。EC-CUBEの開発は2系へ移ってしまったので、事実上あまり更新されていません。文字コードはEUC-JPです。PHPを始めたばかりで、PHPのクラス・継承がよくわからないけど、EC-CUBEをカスタマイズしたい人の練習には良いと思います。1系は複数カテゴリが利用できず、EUC-JPなので多言語化が難しいなどの制限がありますが、全体的な動きは安定していると思います。
ちなみに、弊社はEC-CUBE1系をベースとした案件を100件以上構築していますが、中には300~700万近く売り上げるお客様もいますので、1系が使えないバージョンってことはまったくありません。使い方によってはEC-CUBE1の方が運営しやいことがあるかもしれませんね。
- EC-CUBE Ver1 (ベータ版)
1系正式版との違いは、納品書機能が実装されているところです。また、一部の決済モジュール(サイバーソース決済モジュールなど)は1.5.0βから動作します。文字コードはEUC-JPです。
- EC-CUBE コミュニティ(コミュニティ版1系)
現在は開発がストップしてしまいましたが、正式版・ベータ版などの発表が遅れ気味だった頃に展開を早めようと試みたバージョンの一つです。1系のソースをもとにUTF-8に対応し、多国語に対応するためのインターフェースを備えています。また、Google サイトマップ生成機能も備え(2系標準)、顧客管理画面からの顧客登録を可能にしました。しかし、開発がストップしている関係で、研究目的以外でこちらを選択することはないでしょう。(バージョン2を選ぶ方が賢明です)。
- EC-CUBE コミュニティ(ナイトリービルド版2系)
EC-CUBEは数多くの外部開発者が開発にかかわっているため、毎日改善や機能追加されています。なかにはそういったバージョンを望む方もいますので、毎晩更新されるバージョンとして公開されています。コミュニティ版同様、通常は使うことはないでしょう。
上記のような感じですので、大きく分けると1系、2系という形になります。コミュニティ版は1系、ナイトリービルド版は2系がベースになっていますので、それぞれ1、2系に含まれます。
1系はある程度完成されたような感じですので、安定しているとは思いますが開発が止まってしまっています。2系は「複数カテゴリ」、「共有SSL対応」、「納品書生成機能」、「ほとんどのモジュールを利用可能」、「標準デザインのXHTML化」と、機能が充実しています。PHPをよく理解する方ならば、2系のほうがオブジェクト指向な組み方がされているので、カスタマイズはしやすい感じを受けます。
動作に関しては、格安レンタルサーバーなどでは1系を設置する方が無難かもしれません。EC-CUBEの開発環境はPostgreSQLを利用しているので、データベースはできればPostgreSQLを利用した方がMySQLより比較的動作が速いです。特にPostgreSQL 8.3以降がお勧めらしいです(8.2と8.3とでは比べ物にならないくらい、速度的なものが改善されているといいます)。
ちなみに、1系から2系への差分バージョンアップは事実上困難を極めます。内部的には1系をベースにして2系が誕生したのですが、その中身・構造は全くの別物なので、簡単にはいきません。弊社では1系(MySQL)から2系(PostgreSQL)へサイト情報(データ)を移動させる方法ならば何度も経験してうまくいっていますので、別の機会に移行方法などを御説明しようと思います。