2006年12月28日

Zend Framework が間もなく Symfony をトレンドで追い抜く模様。

恒例のGoogleトレンド。

Googleトレンドリンク

1.0 に向けて、Zend Frameworkに対する関心が集まっていることは明らかだと思います。ちなみに、公開されているスケジュール情報はこちら。

Project Management Team
Zend Framework Components


まもなく、SymfonyとZend Frameworkの両者は2位争いによって順位が入れ替わりそうです。しかし、やはりCakePHPが1位です。CakePHPもいったんは追い越されるのではないでしょうか。その後、再び、“CakePHPが使いやすい”と順位が上がってくるのではないかと予想していますが。(希望的観測かも。)Ethnaも健闘していますね。

php_framework_trends.PNG

Zend Framework の使われ方を見ていると、“部品として使ってください”というプロモーションが成功しているように見受けられます。自分の使用しているフレームワークにポンとはめこんで使っているやり方もよく見受けられます。

Piece Frameworkなども、まさにピースとして使ってください、とうたっていますね。「あなたの目的に合ったプロダクトをお選びください」と大書きされていますので。

ただ、私個人としては、PHPフレームワークに関しては、もう1段階くらい、ブレークスルーがあるような気がしてなりません。

1)デザイナーが気軽に使えるフレームワーク
2)XOOPS のモジュールの追加くらいのレベルで「機能別部品の組み込み」ができるフレームワーク
3)ビューファイルが独立(Smarty構文が使用可能?)
4)ゲーム機のカセットを入れ替える感覚で新機能(モジュール)を追加(出し入れ)可能
5)FireFoxのように、アップデートされたら自動更新
6)セキュリティを追求。Pieceのようなアプリケーションフローの制御。

なんていうフレームワークがあったら、世界を席巻するのではないでしょうか。じゃあ、CMSとこれのどこが違うの?というと、「部品化のレベル」が違います。

CMS -> "フォーラム"モジュール、“ニュース”モジュール、“リンク集”モジュール

近未来のフレームワーク -> "フォーラム"モジュール,"Ajax入力"モジュール、"CRUD"モジュール、"商品管理"モジュール、"カレンダー"モジュール、"バーコード入力"モジュール、“認証管理”モジュール、“CTI”モジュール、“地図表示”モジュール、などをCMSのモジュールの感覚で、「1枚のページに自由に組み合わせることができる」ようなフレームワークです。

「コードを書かなくてよいフレームワーク」とか、「ディテールを細かく調整できるCMS」とか、現在のフレームワークとCMSの中間的存在のものが現れてもよいように思います。

どうでしょうか。
posted by SDozono at 10:39| 東京 ☀| Comment(0) | TrackBack(2) | PHP | このブログの読者になる | 更新情報をチェックする

2006年12月27日

Adobe の Spry framework for Ajax

Adobe 謹製のAjax JavaScript フレームワーク。

http://labs.adobe.com/technologies/spry/

デモはこちらにあります。やはり企業の出すものは、演出がうまいですね。
http://labs.adobe.com/technologies/spry/demos/

Effects Demo は、毎回、RELOAD しないと効果がためせないんですね。動かないのかと思いました……。

そうか、フレームワークって呼ぶんだ。(^.^)

こういう JavaScript ライブラリ(フレームワーク)がいろいろ出ているのを見ると、やはり、PHP フレームワークの設計としては、自分で js ライブラリを作りこんでしまうより、いろいろ選べるようにしておいたほうがよいのだなぁと感じる今日このごろです。

目移りしますね……。
ラベル:AJAX
posted by SDozono at 12:38| 東京 ☀| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

2006年12月26日

中国のPHPフレームワーク事情

日本では、Mapleから始まり、Ethna, その後いろいろなフレームーワークが大小さまざま公開されています。

アイデアはみなさんいいと思うのですが、“他人の力を集めて作り上げている”というチームワーク型のフレームワークはまだ出てきていないなぁと思うこのごろです。

難しいですよね。
そういう点では、英語でプロジェクトを始めると、あちこちの国から“口をはさんでくる”人たちが集まってくるので、よくも悪くもプロジェクトは進んでゆきます。そこでクロスカルチャーリーダーシップを取れるかどうか、というのは技術者の技量というか、経験しながら覚えてゆくところなのだろうと思います。今の phpNut も国際化をはじめて国際リーダーシップの大変さを感じ始めているのではないでしょうか……。

で、中国のフレームワーク事情ですが、下記の記事は面白いと思いました。

PHP开发框架的现状和展望
http://xilo.cn/blog/?p=11

もし、現在のPHPフレームワーク事情に興味があるのであれば、このブログは翻訳ツールなしで内容が理解できると思います。直接、ページにダイブしてみましょう。結構、いい線をいっている評価記事だと思います。この中で取り上げられている中国製PHPフレームワークは、

FleaPHP 应用程序开发框架
http://www.fleaphp.org/

FCS官方BLOG
Fast,Compatible & Simple OOP PHP Framework
http://fcs.org.cn/blog/

です。将来的に英語に翻訳されるとさらに広がる可能性もあるかもしれません。
posted by SDozono at 23:09| 東京 ☔| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年12月24日

次回のCakePHPフレームワークは11ヶ国語対応に!

現在、CakePHPの翻訳チームの活動が始まっています。
現在のところ予定されているのは、

英語に加えて、
オランダ語
ドイツ語
中国語
イタリア語
スペイン語
デンマーク語
フランス語
日本語
ロシア語
ポルトガル語

です。(ほかにも追加されるかもしれません。)最初の開発画面や、エラーメッセージなどがそれぞれの国の言葉で表示されるようになります。これが、CakePHP 人気をさらに広げる決め手になるとよいなぁと思います。

ほかの国の人たちは時差がないので、数時間で翻訳が仕上がります。日本はちょっと不利だなぁ。でも切磋琢磨するにはよい環境です。

ただ、今後懸念されるのは日本語環境での文字コード問題です。現在の日本では、

おおざっぱに言うと、
Windowsアプリ: shift-jis
Eメール: iso-2022-jp
MYSQLの大半: ujis(EUC-JP)
Gmail などの新興WEBアプリケーション: utf-8

という4つのエンコーディングがそれぞれ今も生きています。Ajaxアプリなどと兼ね合いから、UTF-8 が優勢で増えてゆく気もしますが、今後もある程度は混在したままでしょう。

WEB開発用のフレームワークは、この4つをまたぐことが多々あるので、エンコーディングは悩ましい問題です。現在のところ、翻訳原稿は utf-8 で送ってあります。ただ、bake.php などで日本語表示となると、Linux上とWindows上で文字のエンコードを変えないといけない、などの問題が色々出てきます。(出てきてから解決策を考えましょう。ファイルを“二つ”入れてもらうようにする、トカ。)

とにもかくにも、様々なエンコーディングが息づいているのがおかしい状況だと思うのですが……。

だれか一つに統一してください!文字コード大統一理論を!
ラベル:cakephp
posted by SDozono at 11:44| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年12月22日

RESTfulなPHPフレームワーク

RESTに関する説明はこちらが詳しい。

REST入門
http://yohei-y.blogspot.com/2005/04/rest_23.html

現在のWEBアプリケーションの大半は、URIとHTTPを正しく使っていない、ということになるだろうか。

記事によると、

「GET /uso/bookmarkService?action=delete&id=332 HTTP/1.1」で情報を“削除”する、というのは問題があるそうだ。「第一に HTTP メソッドのセマンティクスを正しく利用していない点。 HTTP にはきちんと DELETE メソッドがあります。しかし、上の例では DELETE を使わずに、GET を使っています。これは明らかに誤用」となるそうだ。

また、「この例が駄目な二つ目の理由は GET でリソース副作用(side effect)がある操作をしている点です。 GET の重要な性質としてリソースに副作用を与えないということがありました。しかし、この URI を GET をすると、URI が指定するリソースが削除されてしまいます。これはセキュリティ上重大な欠陥となる可能性が強い HTTP の誤用です。少し前に話題だった CSRF の一番典型的なパターンは、この GET の濫用でしょう」ということだ。

じゃあ、どうすればいいのか、という点に関して、PHPでこんなフレームワークがあるのを知った。

A RESTful Web App Development Framework
http://tonic.sourceforge.net/

では、これを使うと既存のWEBアプリがどうなってゆくのか、というのはもう少し調査してみないと……。

*2006/12/29*
没入型 Web アプリケーションでの Ajax/REST アーキテクチャー・スタイルの利点
http://www-06.ibm.com/jp/developerworks/web/library/wa-ajaxarch/
posted by SDozono at 14:59| 東京 🌁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年12月21日

YouTubeでCakePHP

IBMサイトでのCakePHPチュートリアルがパート3まで公開されています。
英語が苦にならなければお勧めします。
http://www-128.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=cook+web+sites+CakePHP

CakePHPでYouTubeを作る、という話ならすごいと思うのですが、今回は逆です。スミマセン。ブラジルでの PHPカンファレンスでの内容が YouTube で公開されています。

スケジュールは
http://www.prophp.com.br/historico.php




ラベル:cakephp
posted by SDozono at 14:35| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年12月18日

Javaの挑戦

Java も新時代のプログラミングに向けて色々とアイデアが集まりますね。

「近頃流行りのページ駆動 Web フレームワーク」だそうです。
Click Framework探訪

http://www.ogis-ri.co.jp/otc/hiroba/technical/ClickFramework/clickfw01.html

「Javaでもスクリプト言語に負けない生産性が出せる」---Seasarのひがやすを氏
http://itpro.nikkeibp.co.jp/article/NEWS/20061204/255920/


ちなみに、CakePHP に関する記事を少し書いたので、お時間のある方はどうぞ。
「CakePHP内の処理を理解する」
http://codezine.jp/a/article/aid/768.aspx
posted by SDozono at 16:55| 東京 ☀| Comment(0) | TrackBack(0) | Programming | このブログの読者になる | 更新情報をチェックする

2006年12月17日

コンテナベースのフレームワーク。SyL

新たなフレームワークが sourceforge.jp で公開されています。「新たな」といっても、“数年の開発期間(開発停止期間や、SyLの前進となるフレームワークの開発も含みます)を経て一般公開に至っています”とのことです。

-------------------------------------------------------
SyLはPHP言語でWebアプリケーションを開発するときのフレームワークです。

 独自コンテナを実装し、イベント(処理プロセスの単位)ごとにコンテナ内のコンポーネントを起動できるのが特徴です。また、他のライブラリに依存しないので、変更できるサーバー環境が限定されたレンタルサーバ等でも動作可能かと思います。

http://syl.jp/
-------------------------------------------------------
posted by SDozono at 11:34| 東京 🌁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年12月16日

PHPフレームワークの選定

世界中のあちこちで、「PHPフレームワークはどれがいいんだ〜」と途方にくれている開発者が多いようです。下記のような調査をしている開発チームは多いのではないでしょうか。

Choosing A Framework For Web Development
http://www.webpronews.com/expertarticles/expertarticles/wpn-62-20061204ChoosingaFrameworkforWebDevelopment.html

興味深いのは、「PHP4での開発が今でも必要」と感じている、という部分です。どこの国でも、PHP4のサーバをメンテナンスする必要があったり、顧客がPHP4を指定したりする現状があるようです。

私はもちろん自宅ではPHP5を使っています。自宅をPHP4のサーバにするなんて考えられません。スピードなどもかなり違います。それでも、PHP4での開発案件や、サーバ条件はまだまだあるのも事実です。

この記事の中で言及があったのが、下記のレポートです。

Just how popular is Ruby on Rails for Web Development?
http://www.tm4y.co.za/cakephp/ruby-on-rails-popularity-for-web-development.html

Rails流フレームワークでは、CakePHPが飛び出している、という結果です。
下記でもはっきりしています。

http://www.google.com/trends?q=symfony%2CCakePHP%2CZend+Framework%2CMojavi%2CAgavi&ctab=0&geo=all&date=2006

ただ今回は、PHPフレームワーク全体が下降気味です。どうしてでしょうか?
これといって他の言語が有名になったとも思えないのですが……。今回はそちらのほうに気がいってしまいました。

ラベル:cakephp
posted by SDozono at 20:46| 東京 ☁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年12月15日

Frameworksの未来

Ajax フレームワークに関しては、PHPよりもJavaの世界のほうが時間の流れが速いなぁと見物しています。

下記のフレームワークの Live Demo は驚きました。これでもか、というくらいAjax パーツのオンパレードです。

ZK is an open-source Ajax Web framework that enables rich user interface for Web applications with no JavaScript and little programming.
http://www.zkoss.org/zkdemo/userguide/

PHPフレームワークの世界でも同じようなコンセプトのものが出てくるのは時間の問題だと思います。それが CakePHP のパーツとして出てくるかどうかは分かりません。

そういえば Ajax を前面に出していたフレームワークもあったな、と思って久しぶりに見てみました。でも4月以来、特に動きもなく、掲示板も見えなくなっています。(ちなみに Zephyr と聞くと、いつもバイクを思い浮かべてしまうのは私だけでしょうか……。)

zephyr is an ajax based framework for php5 developers
http://zephyr-php.sourceforge.net/index.html

現在のフレームワークで、Ajax にいちばん近いところにいるのはやはり PRADO でしょうか。

PRADO is a component-based and event-driven programming framework for developing Web applications in PHP 5.
http://www.pradosoft.com/

全部がコンポーネントだし、イベントドリブンだし、Ajax コンポーネントに置き換えていってしまえばそのまま Ajax フレームワークになってしまうのでは、と思ってしまいますが、まだそっちの方向には行っていないですね。

ちなみに、最初に紹介した ZK は、IE 6.0 でデモを開くとメモリリークが起こっています。
ZK is an open-source Ajax Web framework
http://www.zkoss.org/zkdemo/userguide/

Drip でリークする様子を見ていくと、こりゃダメダという気になってしまいます。WEBアプリケーションとして作られたソフトは、やはり1日中、ブラウザが開きっぱなしでも最後まで動くようにしておかないとまずいですよね。
posted by SDozono at 11:12| 東京 🌁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年12月12日

Ajax ライブラリ

Cake と組み合わせることができそうな Ajax ライブラリを検討する際に……。

●『Ajax実践テクニック』
Examples for Libraries
http://jsgt.org/js/books/rc/sample/contents.htm

上記のサイトには、

★Yahoo UI!
Yahoo! User Interface Library
★Dojo
Dojo - DojoToolkit.org
★prototype.js
prototype.js -
★script.aculo.us
script.aculo.us - web2.0 javascript
Rico

のデモがあり、比較しやすいと思いました。

なお、Yahoo UI! については yui-ext もチェックしておいたほうがよいかもしれません。

★yui-ext - Yahoo! UI Extensions Library
http://www.yui-ext.com/deploy/yui-ext/docs/

Cake の ML で結構評価が高いのが
★jQuery。
http://jquery.com/demos/

もう少しアプリケーションのコンポーネントに近いものが欲しいと思っている場合には、
★qooxdoo
http://qooxdoo.org/demo
GUI Toolkit
Despite being a pure JavaScript framework, qooxdoo is quite on par with GUI toolkits like Qt or SWT when it comes to advanced yet easy to implement user interfaces. It offers a full-blown set of widgets that are hardly distinguishable from elements of native desktop applications.

部分的なサンプルだけ欲しい場合には、
★dhtmlgoodies.com
http://www.dhtmlgoodies.com/

このあたりに習熟すると良いかなぁと思っています。なんだか、PHPフレームワークの話ではありませんが。あとは、データベースとの組み合わせ方について(DBのテーブル表示とか。)調べタイと思っています。
posted by SDozono at 11:28| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年12月11日

日本語マニュアルPDF

ご親切に、日本語マニュアルをPDFに変換してくださいました。

CakePHP ドキュメント日本語訳の pdf
http://d.hatena.ne.jp/hetima/20061211

大変な作業だっただろうと……。どうもありがとうございます。

実は、現在公開されている日本語版は、
rev 132 for CakePHP 1.1
を元にしています。

ところが訳している間に、
rev 143 for CakePHP 1.1
が出てしまいました。これが現在の“英文”の最新版です。各関数の説明のおかしかったところ(引数が2重になっていたりとか)や、モデル、コントローラの説明が多少、変更されています。

手元に翻訳メモリ(訳した時のデータベース)が残っているので、もう一度、同じことをすればrev 143もすぐに(?)作れると思うのですが、(株)CBAのプロジェクトも押せ押せで……。大忙しのため、なかなか時間がとれません。

あと、今度は doc チームの助言どおりに .xml で作ってから、html, pdf, chm などに変換したほうが賢いかな、と思っています。
早く本家にアップできるようにならないと。(汗)
posted by SDozono at 23:12| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

InterBase と Firebird

DBドライバは、自分が使用していないDBに関してはなかなか作れないし、そもそも作ろうという気がおきないものかもしれない。

そんなに難しいことをしているわけではないし、サンプルファイルは同じディレクトリに色々とあるので、参考にしながら作ってみるのはどうだろう。

InterBase と Firebird に関しては、実験的なコードがあるだけのようです。(それも1年前……。)

Firebird 使いの方、ドライバを書いて Contribute するのはいかがでしょうか?

https://trac.cakephp.org/ticket/99
https://trac.cakephp.org/attachment/ticket/99/dbo_interbase.php
posted by SDozono at 22:34| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

XAMPPがうまく動かない場合

Apache, MYSQL, PHP などを使える環境を一括インストールしてくれる
XAMPP

下記にある日本語の解説も参考になります。
http://phpspot.net/php/pgXAMPP.html

非常にお手軽ですが、はじめて環境を作ると「localhostが見えません!」と苦労する場合があるかもしれません。

理由はいくつかあると思うのですが、Windows 環境の場合は次の二つの例を経験したことがあります。

1)Skype を立ち上げている場合
2)フィルタリングソフトが常駐している場合

です。

1)の Skype ですが、標準状態ではポート80を利用するようになっています。

[メニュー]⇒[ツール]⇒[設定]⇒[接続]から、
「上記のポートに代わり、ポート80を利用する」のチェックを、外してください。

2)以前、某フィルタリングツールが入っていたPCでWEBサーバが動かなかったのですが、やはりアンインストールしたところ、動くようになりました。開発用途であってもWEBサーバを自宅のPCで動かす場合には、こうしたツールはインストールしておかないほうが安全です。
ラベル:xampp Apache
posted by SDozono at 10:19| 東京 ☁| Comment(0) | TrackBack(0) | Japanese Translation | このブログの読者になる | 更新情報をチェックする

2006年12月09日

本物PHPより速い?.NET版PHP-Phalanger

ベンチマーク記事のコメントになぜかこのプロジェクトが……。

http://www.codeplex.com/Phalanger

ベンチマークを取ると、本物のPHPより速いらしい。

http://php-compiler.net/Benchmarks.htm

Windowsでサーバを運用しているのであれば、これでPHPスクリプトを動かすのも手かもしれません。
posted by SDozono at 12:20| 東京 🌁| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

コードイグナイター Vs ケーキ Vs シンフォニー

ほとんど空のプロジェクトファイル同士で、3つのフレームワークのベンチマークを取ってみる、という記事。
結果は、Code Igniter がいちばん速かった、というもの。

「速い」ということは、「いちばんコード量が少ない」という意味にもなりますので、だから良いと結論することは短絡的だと思います。

Code Igniter も好きですが。

posted by SDozono at 12:17| 東京 🌁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年12月07日

あれ……。

cakephp.org サイトが落ちていますね。珍しい。初めてだ。

*直っていました。しかし特に変化もアリマセンネ。*
posted by SDozono at 06:15| 東京 ☀| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2006年12月04日

CakePHP 1.1系の最新リリース

CakePHPの1.1系がリリースされました。

通常の使い方をしているだけであれば(new MyModel(); などとしていなければ)、単に Cake フォルダを上書きするだけで大丈夫だと思います。モデルの読み込み方の調整により、スピードがさらに速くなっています。

CakePHP 1.1.11.4064のリリース
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=273&forum=1&post_id=434#forumpost434

shin さんが投稿された bake.php のバグ修正も取り込まれていると思います。何よりです。
posted by SDozono at 16:43| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年12月03日

http://cakephp.ru ???

今気が付いたんですが、CakePHP のロシア語コミュニティ?がなくなってしまったようですね。ありゃりゃ。

http://cakephp.ru
posted by SDozono at 23:28| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年12月01日

JavaScript関連

なんだか、現在はPHPプログラマというより、JavaScript書きになっています。CakePHP については、ここしばらくそれほど大きな動きがないので、嵐の前の静けさのような気がしています。

英語以外には、日本語とロシア語のサイトがあったのですが、ブラジルのポルトガル語サイトもできているようです。
http://cakephp.com.br/

あとは、IBM サイトでの記事もニュースかもしれません。(無料の登録が必要ですが、PDFを入手できます。)シリーズものになるようです。

http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=253&forum=1

ちょっと関係ありませんが、phpspot さんで紹介されていた下記の記事はすごいですね。Ajax 使わなきゃ、という気になります。

Yahoo UI Libraryを拡張した超リッチなコンポーネント集
http://phpspot.org/blog/archives/2006/11/yahoo_ui_librar_4.html

ASP の世界では、下記のようなコントロールセットも発売されていることを上司から聞きました。

http://dotnetdemo.grapecity.com/demo/livecontrols/

Ajax が必要な技術だな、と思わせるプロモーションです。
Cake にもこういうヘルパがあるといいかもしれないですね。

来年はこのあたりの技術が話題をさらうかもなぁ……。
posted by SDozono at 19:15| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする