====== 00 フレームワーク概要 ====== フレームワークとは本来「枠組み」を意味し、簡単に言えば「プログラミングなどの際によく使う機能やお作法をすぐ利用できるよう詰め合わせたソフトウェア群」のことを言います。 実際、あいまいな定義なのですが、多くのフレームワークには開発支援のためのツールやドキュメント、クラスライブラリなどが含まれています。 例えば、Webアプリケーションフレームワークであれば、認証/セッション管理や、データベース管理、テンプレートなどが提供されます。 - 平行作業(ビューとロジックの切り分け) \\ 片方の変更作業がもう片方の作業に影響する。例えば、デザイナーがデザインを変更するたびにプログラマーが呼び出されるなど。 - 定型的なコードの記述 \\ よく使うコードを何度も書く事になり、作業効率が悪い。 - コーディングルールの統一性 \\ 開発メンバー間でコーディングの歩調をあわせることが困難なうえ、部分部分で製品の品質が一定しない。 - メンテナンス \\ 皆がそれぞれ独自のルールでコードを作成すると、一元的な管理ができない。アプリケーション全体を把握するだけでも大変な作業になる。 ^ フレームワーク ^ 入手先/HP ^ 特徴 ^ |symfony|http://www.symfony-project.com/|Mojaviから派生し、Ruby用フレームワークRuby on Railの影響を色濃く受けて作られたフレームワーク| |Mojavi|http://www.mojavi.org/|PHPフレームワークの草分け的存在(現在本家ダウン中。入手はMojavi Japanから可能) | |Ethna|http://ethna.jp/|GREEで使われている国産フレームワーク。PHP4/5に対応 | |Maple|http://kunit.jp/maple/|国産フレームワーク。DIコンテナ機能が特徴的 | |Zend Framework|http://framework.zend.com/|PHP本家Zendが提供する純正フレームワーク | |CakePHP|http://www.cakephp.org/|symfony同様Ruby on Rail系のフレームワークで軽快な動作が特徴。PHP4にも対応 | {{tag>php}}