Exploring the Symfony2 Full Stack Approach of eZ Platform

 Symfony2には2通りの使用方法があります。コンポーネント(独立したソフトウェアコンポーネント)、または"フルスタック"として、の2通りです。

 言い換えると、アプリケーションはsymfony2 コンポーネントを統合している、あるいはSymfony2がアプリケーションを統合している、のどちらかなのです。

 eZ Systemsは2つ目のソリューション、Symfony2フルスタックを選択しました。

 Symfony2を完成品のフォームで使用すると、Symfonyコミュニティの現存するデベロップメントやプラグイン(現在までに2500以上ある)の統合は容易になります。eZの製造およびマーケティング部門チーフであるRoland Benedettiはopensource.comのゲストブログの投稿で、当社がsymfonyに変更した決断について説明しています。

 当社のフルスタックアプローチによって、あなたが作るどんなデベロップメントも、多くはSymfony2 スタンダードを完全に組み込み、またはてこ入れすることができます。

 Symfony2スタンダードにてこ入れするのも選択肢の一つかもしれませんが、必要事項ではありません。例えば当社は、PHP APIを使用するのに標準的なSymfonyの使い方ではありませんが、特定のeZ Platform REST APIを使っています。この場合、当社はコンテンツレポジトリとの疎結合を選択することにしました。Symfony とeZと共に開発をすることにより、自分のやりたいように選択することができ、またその機会が与えられます。

 eZ Publish Platform 5は次世代版 eZ Platformと同様に、標準的なSymfony2アプリケーションとして考えられます。しかし何がユニークかというと、当社は本格的な管理インターフェースを提供し、また13年分のコンテンツおよびAPIにおける専門知識の実績を組み込んでいるのです。そしてそれをバンドルして出荷します。このトピックについてはSymfony Live Paris 2013のスライドをご覧いただくと詳細が分かります。

 SensioLabsというSymfony2のクリエーターとeZ Systemsは、ビジョンや品質要求のどちらにおいても、非常にうまく協力し合うことに成功しました。当社テクニカルチームとの間に強力なコミュニケーションチャネルを構築することができ、またそれによりSymfony2の主要な貢献者達によって承認また支持された高品質な結果を得ることできました。

Drupal 方式を理解する

 当社同様、Drupal コミュニティはSymfonyを採用することを決断しましたが、別のアプローチ方法を取っています。次のversion 8 は、例えばHttpFoundationや RoutingといったSymfony2コンポーネントを統合していますが、フルスタックは組み込んでいません。

 これがなぜ重要なのかを理解するには、Symfony2 がどのように使われるのかを理解することが必要です。Symfony2 はコンポーネントの集まりなのです。例えばルーティングコンポーネントはユーザーを専用コントローラー/アクションに送る、またインターフェースをディスプレイするために使われます。全てのSymfony2コンポーネントは独立方式で使用でき、またDrupal 8はそのいくつかのコンポーネントを統合します。しかしSymfony2がフルスタックで使用されない場合、現存するバンドルのうちいくつかのコンポーネントが紛失したり、Drupal 8と完全な互換性が持てなくなります。

 ただ勘違いはしないでください。Symfony2のコンポーネントを統合することにも利点はあります。それをすることで、Drupal 8を理解し、維持することがより簡単になります。しかしそれはユーザーの観点においてのことです。

 eZ Systemsは安定と進化を提供することをお客様に約束します。Symfony2 フルスタックへの変更などといった当社の努力を通して、数多くの新機能がこの先にある困難を乗り切ることを当社は歓迎します。そしてあなたも仲間に加わってくださることを期待しています。

Insights and news