日記
PHPカンファレンス2006Edit

フレームワークのパネルでZendの回し者になってきました。ネタはいろいろ用意してあったけど、話の流れでほとんど言う暇なかったな。

最後のZeev氏のプレゼンが終わるまでいたんだけど、懇親会までの待ち時間の間に、眠くて吐き気がしてきたんで、懇親会には出ずに帰ってきてしまいました。挨拶できなかった方々すみません。

そういやZeev氏がプレゼンの最後の方で出していた、ZActiveRecord(今はZend_Db_Table)とかZMail(今はZend_Mail)とかZSearch(今はZend_Search_Lucene)とかは、Zend Framework 0.1.1が発表される以前のちょー古い仕様で、そこで使われていたサンプルコードは現状のZend Frameworkのコンポーネントとは全然違っているんで、あれは信用しないように。っつーか、いったいZeev氏はいつのプレゼン資料を使い回しているんだ? あれを見てちょっとげんなりした。

一応事前に準備しておいたネタ帳は以下のような感じ。

  • [各フレームワーク] 現状
    • Preview 0.1.5が7/10に出た。
    • 高機能な(RoRやSymfonyのような)フレームワークとしてはまだ足りないが、基本的なコンポーネントは一通りそろっている。
    • Zend Studioとかと連携しての開発支援系は考えているらしい(昨日のセミナーネタ)。Widgetとか言っていたけど、詳細不明。
    • 完成度は、コア部分は実用レベル。流行りもの系(フィードとかWebサービスとか)はまだビミョー。実際に使う人が増えないと、この辺の品質は上がらないんじゃないかな。たぶん開発者もテストケースとかは書いているけど、アプリケーション風の使い方はしていないように思う(結構基本的なところでダメだったりするし)。
  • [各フレームワーク] 今後
    • 一応今年中には正式版1.0.0が出るらしい。今年9、10月あたりという説もある。まだコンポーネントが足りてない気がするけど……。
    • 開発の様子は、SubversionレポジトリやMLを見ている限りでは、ちょっと停滞気味かも。がんがん新しいコードが追加されている感じはない。
    • proposalはいろいろ出ている。
    • バグ管理とかドキュメント管理とかの仕組みも、ようやく安定してきた(それまではいろんなツールをとっかえひっかえ状態だった)。
    • PEARが5〜6対応を推し進める方向に向かっているようなので、そちらとのバランスを取らないとリソースの無駄遣いになりそう。と思ったんだけど、PEARとZend Frameworkは全然別物だし、品質とか知財の関係とかで、PEARのような既存のライブラリをZend Frameworkが取り込むことはないそうだ(昨日のセミナー)。
  • [meta] PHPフレームワークは普及するのか?そもそもフレームワークを使う価値はあるか?
    • 基本的に、フレームワークの考え方自体はあらゆるシーンで使える。フレームワークは先人の知恵がコード化されたもの。
    • 実際の制作物にフレームワークを使うかどうかは、ケースバイケース。ただし、環境さえうまく整えることができるならば、かなり小規模なケースでもフレームワークを採用するメリットが得られる。逆に環境が用意できない場合は、フレームワーク的な考え方だけを利用するか、あるいは小規模な自作フレームワークもどきを使うなどもあり。
  • [meta] フレームワークの選択基準
    • フレームワークを知らない人は、何でもいいからWebアプリケーションフレームワークの考え方を身につけた方がいい。ある程度メジャーならばなんでもいい。
    • 実用レベルでの採用を考えると、コードの品質、採用実績、将来性、環境、パフォーマンスあたりが検討材料となる。
    • うちの場合は、PHP5への完全移行を決め、それに伴い環境的にPHP5にフル対応しているものを選択し、その中で将来性、コードの品質を重視してZend Frameworkを選んだ。
    • コードの品質というのは、PHPのライブラリでは、バグの少なさよりも、いざというときにソースを読んで自分で対応(修正)しやすいかどうかが重要。もちろんバギーすぎるのは困るが、ドキュメントも実績も十分ではないPHPのライブラリでは、自分のコードと同程度にライブラリのコードを追う必要がある。
    • そういう意味では、コード規模がまだ小さく、きちんとした規約に基づいて書かれ、異常系処理が例外ベースで統一されたZend Frameworkが、相対的にベストだった。
    • 現時点だけで言うと、他のフレームワークの方が便利なことが多いとは思う。
  • [各フレームワーク] バージョンアップ...どう?
    • まったく不明。まだそのあたり(運用後のフレームワークのバージョンアップ対応)まで考えるレベルまで来ていない。
    • ただ、設計的に各コンポーネントの結合度が比較的低く、インターフェースもきれいな設計のものが多いので、比較的未来は明るいんじゃなかろうか。
  • [各フレームワーク] アプリにどこまで食い込むか?(コアonly or CMS方面へ...)
    • 現状では、アプリケーションレイヤーよりのフレームワークというよりは、独立したライブラリレイヤーのフレームワークといった位置づけ。というか、疎結合で部分的に他のライブラリと差し替えて使えるように設計してある(昨日のセミナー)そうだ。
    • ただし、ZAppのようなアプリケーションフレームワーク的な方向のものもproposalとしては出てきているし、Zend自体もZend Studioと組み合わせての開発支援は考えているみたいなんで、Rails的なアプローチではなく、たぶんマイクロソフトがVisualStudioでやっているようなアプローチに近い支援機能がくるんじゃないかなー。
    • ちなみにうちで作っているWEBXPというフレームワークも、Zend Frameworkのコンポーネントを組み合わせてアプリケーションレイヤーよりの作業を効率化するための仕組み。Zend Frameworkは、フレームワーク on フレームワーク的なものを作るのに向いている。

他にも現地でパネルが始まるまでの間にいろいろ追記したんだけど、W-ZERO3[es]が熱暴走して追記した分が失われてしまった。Zend Frameworkを選択した理由とか、他のフレームワークと比較しての特徴とか、いろいろ書いていたんだけど。

Published At2006-08-19 00:00Updated At2006-08-19 00:00