blob: 74ca125d9db3df64fc854fad983364e5852315cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
<com:TContent ID="body" >
<h1 id="201">PRADO とは?</h1>
<p id="20003" class="block-content">
PRADO はコンポーネントベースかつイベントドリブンなウェブアプリケーションを開発するためのPHP5フレームワークです。<br />
「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 の第一の目標は、ウェブプログラミングにおいてコードの再利用を可能にすることです。<br />
自分自身で開発したコードを再利用するだけではなく、簡単な方法で他人の開発したコードを再利用することを目的としています。<br />
これは、開発工数を劇的に減らす事ができ、とても重要な項目といえます。<br />
この目的を実現するためにコンポーネントベースの概念を導入しています。
</p>
<p id="20005" class="block-content">
上記の目的を達するために、PRADO ではコンポーネントを作成し、コンポーネントにアプリケーションの動作を定義する方法を採用しています。<br />
コンポーネントは、継承可能なものになっているので、簡単なコードの書き換えで再利用することが可能となっており、既存コンポーネントを利用して、簡単に新しいコンポーネントを作成する事ができます。
</p>
<p id="20006" class="block-content">
コンポーネントをインタラクティブに利用できるように、PRADO ではイベントドリブンプログラミングの枠組みを含んでいます。<br />
ボタンの押下などのユーザーアクションをメソッドに対応付けておく事で、サーバー側のイベントとして自動的に取得する事ができます。<br />
POST/GET 変数を取得して処理をする従来のウェブプログラミングと比べて、イベントドリブン型プログラミングは開発者が必要な処理に集中でき、POST/GET の取得などの反復コードも激減する事になります。
</p>
<p id="20007" class="block-content">
PRADO でのアプリケーション開発は、ページにコンポーネントを配置し、プロパティの設定やイベントに反応するメソッドをコーディングすることが主な作業となります。<br />
これはデスクトップ GUI アプリケーションを開発するのに使用する Borland Delphi や Microsoft Visual Basic などの RAD ツールと非常に似た作りとなっています。
</p>
<h2 id="202">なぜ PRADO を使うのですか?</h2>
<p id="20008" class="block-content">
PRADO はユニークなフレームワークとして紹介されています。<br />
事実、退屈な PHP プログラミングを楽しいものと変えることができるくらいユニークなフレームワークです。<br />
以下のリストは、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 ベースのアクセス、active record、スキーマのマッピングをサポートした SqlMap から選択する事ができます。</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 はインタラクティブなウェブアプリケーションを開発するのにとても適しています。<br />
コンテンツ管理システム(CMS)や、Eコマースなどの複雑なシステムを比較的容易に開発する事ができます。<br />
PRADO はコンポーネントベースのオブジェクト指向プログラミングですので、企業等でのチーム開発で力を発揮します。
</p>
<p id="20011" class="block-content">
PRADO はアプリケーションの高速化とスケーラビリティを実現するためのキャッシュ機構を実装しています。<br />
利用する環境によりキャッシュモジュールを選択し、PRADO アプリケーションで利用する事ができます。<br />
出力キャッシュは、レンダリングされたウェブページの一部をキャッシュとして保存しておき、再度レンダリングする際に自動的にキャッシュから取得する機構になっています。
</p>
<h2 id="204">PRADO は他のフレームワークと比較してどのような点が異なっていますか?</h2>
<p id="20012" class="block-content">
PRADO はよくユニークなフレームワークと呼ばれています。<br />
コンポーネントベースとイベントドリブンな実装が特にユニークであるとされています。<br />
このプログラミング方法はデスクトップアプリケーション開発においては新しくはなく、いくつかのウェブプログラミング言語でも実装されていますが、PHP のフレームワークとしてはおそらく初めて実装されたフレームワークです。<br />
</p>
<p id="20013" class="block-content">
ほとんどの PHP フレームワークでは、画面表示部分とロジック部分を切り離して、MVCデザインパターンをすすめています。<br />
PRADO では、テンプレートの中に画面表示部分とロジック部分を埋め込んだ事により、自然にMVCと同じ目標を達成する事ができています。<br />
そして、MVCでは実現できなかったコンポーネントベースのプログラミングスタイル、豊富なウェブコントロール、強力なデータベースサポート、柔軟なエラー処理とロギング機能などの色々な機能を実装することができています。
</p>
<h2 id="4004">PRADO は安定していますか?</h2>
<p id="20004" class="block-content">
はい。PRADO は2004年8月に初めてリリースされました。<br />
品質を確保するために多くのテストプログラムが作成されており、何千人もの開発者が利用しています。<br />
このテストプログラムによるテストを重ねて、フレームワークは開発されており、バグや機能追加などは TRAC システムにより管理されています。<br />
そして、すべての開発者の疑問にスピーディーに回答できるようにコミュニティも用意してあります。
</p>
<h2 id="205">PRADO の歴史</h2>
<p id="20014" class="block-content">
PRADO のユニークな発想は Apache Tapestry から生まれました。<br />
設計と実装には、Borland Delphi と Microsoft ASP.NET から多くのアイディアを借りました。<br />
PRADO の最初のバージョンは、2004年6月にできて、PHP4で書かれていましたが、Zend PHP5コンテストに応募するためにPHP5のコードに書き直しました。(PHP5から提供されたオブジェクトモデルはとても助けになりました)<br />
そして PRADO は Zend コンテストで観客・審査員の高い評価を得て特賞を勝ち取りました。<br />
</p>
<p id="20015" class="block-content">
2004年8月にオープンソースプロジェクトとして SourceForge にて提供され始め、そのすぐ後にプロジェクトサイト「<a href="http://www.xisc.com/">xisc.com</a>」が公開されました。<br />
PRADO 開発チームと PRADO ユーザーのサポートにより、PRADO は2005年中頃にバージョン2.0へとバージョンアップしました。<br />
このバージョンでは Wei Zhuo が I18N/L10N サポートの実装で貢献をしました。
</p>
<p id="20016" class="block-content">
2005年5月に、バージョン2.0で見つかった問題点を解決し、さらに Microsoft ASP.NET2.0 で利用可能ないくつかの機能を実装するために PRADO フレームワークを完全に書き直す決定をしました。<br />
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>
|