<com:TContent ID="body" > <h1 id="201">PRADO とは?</h1> <p id="20003" class="block-content"> PRADO はコンポーネントベースかつイベントドリブンなウェブアプリケーションを開発するためのPHP5フレームワークです。「PRADO」の名称は、<b>P</b>HP <b>R</b>apid <b>A</b>pplication <b>D</b>evelopment <b>O</b>bject-oriented の略です。 </p> <p id="20004" class="block-content"> PRADO の第一の目標は、ウェブプログラミングにおけるコードの再利用性を最大限に高めることです。 ここでの再利用性は、自分自身で開発したコードを再利用することだけではなく、簡単な方法で他人の開発したコードを再利用することも意味しています。これは、「車輪の発明」という無駄な努力に要する時間を節約し開発工数を劇的に減らすためにはとても重要な項目といえます。PRADOではこの目的を実現するためにコンポーネントという概念を導入しています。 </p> <p id="20005" class="block-content"> 上記の目的を達するために、PRADO ではウェブアプリケーション構築のためのコンポーネントの作成方法および使用方法を規定しています。コンポーネントとは、自己充足的かつちょっとしたカスタマイズで再利用が可能なソフトウェアユニットです。新しいコンポーネントは既存のコンポーネントを単純に組み合わせるだけで作成する事ができます。 </p> <p id="20006" class="block-content"> コンポーネントをインタラクティブに利用できるように、PRADO ではイベントドリブンプログラミングの枠組みを実装しています。ボタンの押下などのユーザーアクションはサーバー側のイベントとして補足されます。メソッドや関数をそれらのイベントに対応付けておくと、イベントに反応するかのように自動的にメソッドや関数が実行されます。POST/GET 変数を取得して処理をする従来のウェブプログラミングと比べて、イベントドリブン型プログラミングは開発者が必要な処理に集中でき、POST/GET の取得などの反復コードも激減する事になります。 </p> <p id="20007" class="block-content"> PRADO でのアプリケーション開発は、ページにコンポーネントを配置し、プロパティの設定やイベントに反応するメソッドをコーディングすることが主な作業となります。これはデスクトップ GUI アプリケーションを開発するのに使用する Borland Delphi や Microsoft Visual Basic などの RAD ツールと非常に似た作りとなっています。 </p> <h2 id="202">なぜ PRADO を使うのですか?</h2> <p id="20008" class="block-content"> PRADO はユニークなフレームワークとして紹介されています。事実、退屈な PHP プログラミングを楽しいものと変えることができるくらいユニークなフレームワークです。以下のリストは、PRADO に関する主な機能となっています。 </p> <ul id="prado-features" class="block-content"> <li>再利用性 - PRADOコンポーネント規約に則って作成されたコードは再利用性が高いです。開発チームの他の人が開発したコードを再利用することにより、容易にチーム開発での連携を強める事ができます。</li> <li>イベントドリブン型プログラミング - サーバーイベントとしてユーザーのアクションを取得する事ができるので、開発者はユーザの操作とアプリケーションとの相互作用に今まで以上に焦点を合わせることができます。。</li> <li>チーム統合 - 画面出力部分とロジック部分が別々に保存されるので、デザイナーと開発者の連携が容易になります。</li> <li>便利なウェブコントロール - PRADO ではとても便利なウェブコントロールがいくつも用意されており、インタラクティブなウェブページをほんの数行のコードで作成することができます。例えば DataGrid コントロールを使用すると、ページングやソート、編集、行の削除が可能なテーブルを表示するページをすぐに作成することができます。</li> <li>バージョン3.1から、PRADOはデータベースアクセス機能をサポートがしています。開発者はビジネスロジックの複雑さに応じて、シンプルな PDO ベースのデータベースアクセス、広く知られているアクティブレコードによるデータベースアクセス、複雑なビジネスオブジェクトとスキーマとのマッピングをサポートした SqlMapによるデータベースアクセスという3つの中から選択する事ができます。はどうでしょう。 </li> <li>AJAX サポート - バージョン3.1から、アクティブコントロールが実装されました。開発者は javascript のコードを一行も書くことなく、AJAXを利用する事ができます。アクティブコントロールの利用は、通常のコントロールの利用方法とまったく変わらずに行う事ができます。</li> <li>I18N/L10N サポート - PRADO では国際語化ならびにローカライズに対応しています。</li> <li>XHTML 対応 - PRADO で生成されたウェブページは XHTML に対応しています。</li> <li>既存技術の利用が可能 - PRADO はプレゼンテーション層にターゲットを当てたフレームワークです。ほとんどの既存クラスライブラリやツールをそのまま利用する事ができます。例として、AdoDB や Creole なども PRADO アプリケーションで利用する事ができます。</li> <li>その他の機能 - エラーハンドリングとメッセージのロギング機能、キャッシング機構、エラーハンドリングのカスタム、ローカライズ、拡張可能な認証機能、クロスサイトサイトスクリプティング等のセキュリティに対応、クッキー保護等</li> </ul> <h2 id="203">PRADO での開発はどの場面が適していますか?</h2> <p id="20009" class="block-content"> PRADO はインタラクティブなウェブアプリケーションを開発するのにとても適しています。コンテンツ管理システム(CMS)や、Eコマースなどの複雑なシステムを比較的容易に開発する事ができます。PRADO はコンポーネントベースのオブジェクト指向プログラミングですので、企業等でのチーム開発で力を発揮します。 </p> <p id="20011" class="block-content"> PRADO はアプリケーションの高速化とスケーラビリティを実現するためのキャッシュ機構を実装しています。利用する環境によりキャッシュモジュールを選択し、PRADO アプリケーションで利用する事ができます。出力キャッシュは、レンダリングされたウェブページの一部をキャッシュとして保存しておき、再度レンダリングする際に自動的にキャッシュから取得する機構になっています。 </p> <h2 id="204">PRADO は他のフレームワークと比較してどのような点が異なっていますか?</h2> <p id="20012" class="block-content"> PRADO はよくユニークなフレームワークと呼ばれています。コンポーネントベースとイベントドリブンな実装が特にユニークであるとされています。このプログラミング方法はデスクトップアプリケーション開発においては新しくはなく、いくつかのウェブプログラミング言語でも実装されていますが、PHP のフレームワークとしてはおそらく初めて実装されたフレームワークです。 </p> <p id="20013" class="block-content"> ほとんどの PHP フレームワークでは、画面表示部分とロジック部分を分離することに着目し、そのためにMVCデザインパターンで開発することを推奨しています。一方PRADOでは、テンプレートの中に画面表示部分を、クラスにロジック部分を記述することで、自然に同様の目標を達成する事ができています。そして、MVCでは実現できなかったコンポーネントベースのプログラミングスタイル、豊富なウェブコントロール、強力なデータベースサポート、柔軟なエラー処理とロギング機能などの色々な機能を実装することができています。 </p> <h2 id="4004">PRADO は安定していますか?</h2> <p id="20004" class="block-content"> はい。PRADO は2004年8月に初めてリリースされました。品質を確保するために多くのテストプログラムが作成されており、何千人もの開発者が利用しています。このテストプログラムによるテストを重ねて、フレームワークは開発されており、バグや機能追加などは TRAC システムにより管理されています。そして、すべての開発者の疑問にスピーディーに回答できるようにコミュニティも用意してあります。 </p> <h2 id="205">PRADO の歴史</h2> <p id="20014" class="block-content"> PRADO のユニークな発想は Apache Tapestry から生まれました。設計と実装には、Borland Delphi と Microsoft ASP.NET から多くのアイディアを借りました。PRADO の最初のバージョンは、2004年6月にできて、PHP4で書かれていましたが、Zend PHP5コンテストに応募するためにPHP5のコードに書き直しました。(PHP5から提供されたオブジェクトモデルはとても助けになりました)そして PRADO は Zend コンテストで観客・審査員の高い評価を得て特賞を勝ち取りました。 </p> <p id="20015" class="block-content"> 2004年8月にオープンソースプロジェクトとして SourceForge にて提供され始め、そのすぐ後にプロジェクトサイト「<a href="http://www.xisc.com/">xisc.com</a>」が公開されました。PRADO 開発チームと PRADO ユーザーのサポートにより、PRADO は2005年中頃にバージョン2.0へとバージョンアップしました。このバージョンでは Wei Zhuo が I18N/L10N サポートの実装で貢献をしました。 </p> <p id="20016" class="block-content"> 2005年5月に、バージョン2.0で見つかった問題点を解決し、さらに Microsoft ASP.NET2.0 で利用可能ないくつかの機能を実装するために PRADO フレームワークを完全に書き直す決定をしました。1年近い期間をかけて、新たに50,000行を超える新しいコードを追加し、2006年4月にバージョン3.0をリリースしました。 </p> <p id="20017" class="block-content"> バージョン3.0では、PRADO の品質と安定性を確実にするために多くの時間を当てています。 そして私たちは、PRADO 2.x/1.x においてそのコンセプトの正しさが証明され、PRADO 3.x において重要なビジネスアプリケーションの開発に適したフレームワークにまで成長したと私たちは確信しています。 </p> <div class="last-modified">$Id: AboutPrado.page * 2007-06-06 21:53:00Z Shinya.K $</div></com:TContent>