車輪の再発明を防ぐポイント!
symfonyがもっとも有望株
PHPはその特性上、デファクトスタンダードのフレームワークが永らく存在しませんでしたが、Yahoo! Bookmarkに続きYahoo! Answersでも採用が検討されるなど、今もっとも注目されるフレームワークとしてsymfonyが候補に挙がっています。
やはりもっとも注目される理由には、標準で提供される機能とプラグインの豊富さ、それによってもたらされる開発のスピードにあるでしょう。
デメリットというか、気になる点があるとすれば動作速度の問題で、開発速度や開発支援性を優先したために、本体そのものが重くなってしまい、やや重い印象を受ける点です。これについてはXCacheやeAcceleratorなどの中間コードキャッシュや、sfSuperCacheなどのキャッシュプラグインの登場によって、多少改善されてきた印象があります。
また、そのデメリットをカバーして余りある開発効率の高さが、このフルスタックフレームワークの魅力だと言えるでしょう。
CakePHPやsymfony、多言語ではperlのCatalyst、pythonのDjangoなど、RubyのRuby on Railsに(またはCoC、DRYなどのポリシーに)強く影響を受けたフレームワークが登場したように、多言語製のフレームワークで秀逸なものが登場した場合、それに影響を受けたまったく新しいアプローチをする新たなフレームワークが登場するかもしれません(先日DeNAがMobaSiF[Moba/Mobile Simple Framework]を発表したように)。
こうしている間にも技術は日進月歩で進んでいますし、まったく新しいアプローチのフレームワークが登場するかもしれません。よりプロジェクトにマッチしたフレームワークを選択できるよう、日々アンテナを張り巡らせておきましょう。
PHP 6の登場
実務で稼動させるのは先の話になりそうですが、名前空間の追加や定数の仕様変更などを盛り込んだ、PHP 6の動向にも注視していく必要があるでしょう。symfonyについては現在のところまだ公式な発表はありませんが、CakePHPはPHP 6にも対応することを発表しているようです。将来を考えるとPHP 6への移行が進むこともあり、6への対応状況もフレームワークなどを選ぶ際のポイントとなるでしょう。
さて、全5回にわたってお送りしてきました「使えるスクリプト」は、いかがでしたでしょうか。今回の連載を通じて、改めてライブラリの重要性、フレームワークの価値などを再認識していただければ幸いです。
ウノウでも一部PHP 4は未だに現役で稼動しています。エンジニアとしては新技術を試してみたいところですが、フレームワークに関しても各プロジェクトが個別に稼動している状況です。社内にも多数ライブラリ化された「使えるスクリプト」は存在していますが、今後ますますフレームワークの重要性が高まってくると思いますし、それらをどううまくフレームワークと融合させていくかが重要な課題の1つと言えます。社内でもWikiやTracなどをフル活用し、これらを図っていきたいと思います。