他言語のフレームワークを知っている人おすすめ度:昨今のウェブアプリケーション開発では、開発スピードを速くし、保守しやすいプログラムを書くということがプログラマーに求められています。この要望を満たすためにフレームワークというものが良く使われます。フレームワークとは、プログラムを書いていく上でよく使われる機能や処理を1つにまとめてしまって、使いやすいようにされたプログラム群のことをいいます。フレームワークを使うと、画面表示部分とデータベース処理などのビジネスロジックを切り分けて作業を行えたり、フレームワークの規則にのっとってプログラムを記述していくので、コーディングルールが統一されることが期待されます。プログラムを書いていると定型的なコードを記述する箇所が出てくるのですが、よく使う処理があらかじめフレームワークの中に組み込まれているので、非常に簡潔に記載することができ、コードの量を減らすことができます。フレームワークを使うと、より簡単にそしてより少ないコードで保守しやすい開発をすることができますので、フレームワークを使うことはもはや当たり前の時代になっています。Rails、そしてPHPではSymfonyや今日紹介するCakePHPなどが有名です。多くのフレームワークがある中でどれを使えばよいのかわからなくなるのですが、2005年に登場以来高い人気を誇るCakePHPをここでは紹介します。・CakePHPの使い方とBakeによるウェブアプリの自動生成まず必要な環境としてApache、MySQLなどのデータベース、そしてPHPの初期設定の仕方がわかります。CakePHPで使うディレクトリ構成もわかり、どこに何があるのかが把握できます。このフレームワークの大きな特徴の1つとして、Bakeと呼ばれる仕組みを利用すると、データベースにテーブルを作成するだけで自動的にウェブアプリケーションを作成してくれる機能があります。表示、データ編集という非常によく見られるパターンがほんの数秒で作成されます。この機能を学べたのがとてもよかったです。多くのウェブアプリケーションは、上記のようなパターンでできているものがほとんどなので、一から同じような仕組みを作る手間が軽減されます。デザインやシステム固有の機能は自分でカスタマイズし直さないといけないのですが、基本形をざくっと作ってくれるのはとても手軽に感じました。私はStrutsというJavaのフレームワークをずっと使っているのですが、このフレームワークではMVCモデルを採用しています。その後、このMVCモデルは広くウェブアプリのフレームワークで採用されていて、現在ではMVCを使わないものはないといってもいいくらい当たり前の技術になりました。CakePHPでもMVCモデルを採用していて、M(モデル)部分で使うデータベース操作用のメソッドの使い方やC(コントローラ)部分でページ遷移などの処理の仕方、V(ビュー)部分の表示方法などがわかりました。最近はTwitterやFacebookなどソーシャルメディアが広く利用されています。これらと連携したウェブアプリというのも増えていて、サイトがソーシャルメディアからも利用できるようになると、利用してくれるユーザーがぐっと広がります。ソーシャルメディア連携の方法が具体的に書かれていたのがとても役に立ちました。自分のサイトに組み込めば、多くの人に利用してもらえるようになるのではないかとおもっています。・セキュリティ対策ウェブアプリケーションはインターネット上に公開されるものが多いため、不特定多数の人から利用されます。ほとんどの人は普通に利用してくれるのですが、中には悪意を持ってアクセスする人もいるため、セキュリティを考慮した開発は避けては通ることができません。CakePHPでもセキュリティ対策は考えられていて、SQLインジェクションやクロスサイトスクリプティング、クロスサイトリクエストフォージェリなどの非常に重要なリスクの対策方法が解説されています。CakePHP特有のセキュリティ対策にも言及されているので、CakePHPを利用する場合は目を通しておいた方がよいでしょう。