技術情報

PHPフレームワーク「DietCake」とは

PHPWebアプリケーションフレームワーク「DietCake」について紹介します。

DietCakeを使ったオフショア開発は、こちらへ

概要

「DietCake」とは

DietCakeは、Webアプリケーション開発用シンプルPHPフレームワークです。内部構造はシンプルで、軽量高速がセールスポイントとなっています。機能拡張も簡単に行うことが可能です。

基本説明

「CakePHP」のようなMVCフレームに多くあるディレクトリ構造での開発を想定しています。「軽量フレームワーク」と「フルスタックフレームワーク」の間のような設計思想です。

経緯

ソーシャルゲーム黎明期、当時の多くのフレームワークは「フルスタックフレームワーク」でした。一般的なアプリケーション開発に必要とされる周辺ライブラリをまるごと搭載した大規模なものです。

フルスタックは、「アプリケーション開発迅速性」を重視しているため、「速度に関する優先度が低い」、「レコードロックに関するサポートが弱い」、「認証システムを組み込むことが困難」という問題を抱えていました。

そのような環境の中で、大量アクセスに対して高速処理できる軽量フレームワークの必要性から、DietCakeが注目されていきました。

近年のPHPは、HTML直接生成よりも、JSONレスポンスAPIとしての機能を求められることが多くなってきました。そのような変化に対しても、最低限のコアに必要な機能を追加していくDietCakeの仕組みにより、柔軟に対応できています。

SpongeCake

「DietCake」そのものはコア機能しかないため、実際にアプリケーションとして開発/動作させるためには、最低限のプロジェクトテンプレートが必要になってきます。

「SpongeCake」は、「DietCake用プロジェクトテンプレート+PHPビルトインサーバ機能」です。これを利用することで、「DietCake」を簡単に使いはじめることができます。

 

主な特徴

高速動作

「大量アクセス(1億PV/日)の高速処理ができること」、「数十万人オーバーのアクティブユーザに対して、数ミリ~数十ミリ秒オーダーでレスポンスを返せること」を前提に設計されています。

低学習コスト

「Symfony」や「CakePHP」の基本機能、使い方、コーディング作法、各種ヘルパー機能を習得するだけでも、かなりの時間とコストを要します。

一方、「DietCake」は、シンプル構造/シンプル規約であるため、PHP関連の基礎知識があれば、すぐにコーディングを始めることができます。

新規プロジェクト参加メンバーが、数日もかからずに、「DietCake」でコーディングできるようになったという話もあります。

自由にカスタマイズ

フルスタックフレームワークでは、ある程度の型が決まっているため、なるべく、その型に従って開発するスタイルになります。

一方、「DietCake」は、基本的にコア部分のみなので、周囲の機能については、各種モジュール/ライブラリを追加して拡張していくスタイルになっています。

「セッション機能」、「DB抽象化レイヤー機能」、「HTMLテンプレート」などのさまざまな機能については、開発プロジェクト要件にあわせて、必要とする機能を自由に選択して、最適なものを組み合わせていくことができます。

ライブラリ

PHPには、膨大な数のモジュール/ライブラリが用意されています。多くの人々に使われて品質が高まっているハイクオリティライブラリも数多くあります。

有名な「Symfony Components」や「ZF2」も対応しています。また、「Packagist」にも、非常に多くの再利用可能なライブラリが登録されています。

そのようなライブラリを、DietCakeフレームワークに取り入れることにより、コンパクトながら高品質なアプリケーションを開発できます。

 

まとめ

「DietCake」は、高速/シンプル/拡張性/低学習コストなどの特徴を備えたPHPフレームワークです。フルスタックフレームワークには出せない高速性を容易に利用できる点が魅力となっています。

 

DietCakeを使ったオフショア開発は、こちらへ

About the author: matsumoto