リッチ インターネット アプリケーション (略して RIA) は、デスクトップ ソフトウェアの優れたユーザー エクスペリエンスと Web アプリケーションの簡単な展開を組み合わせた新しい Web アプリケーション アーキテクチャであり、企業の間で急速に人気を集めています。近年、主要な開発プラットフォームのサプライヤーは、Ajax から SilverLight まで、Apollo と AIR から Flex と Flash まで、JavaFX から Laszlo まで、RIA 開発をサポートする新しいテクノロジを次々と発表し、あらゆるテクノロジが注目を集めようとしています。集中。
しかし、アプリケーション システム開発ベンダー、開発チーム、開発者として、RIA のトレンドの中で、RIA システムをより良く構築するにはどのようなテクノロジを選択すべきかは、慎重に検討する必要がある問題となっています。
AJAX
Ajax は実際に新しい技術を使用していくつかの古い技術を組み合わせ、それによって WebApplication ユーザー インターフェイスの対話性を大幅に向上させます。
Ajax では、XMLHttpRequest が Ajax のコアであり、強力な機能のソースです。これが Ajax と従来の Web インターフェイス テクノロジーの違いです。 XMLHttpRequest により、ブラウザ内の HTML (DHTML) とサーバー側のデータが分離されます。 JavaScript を使用してクライアントを操作してサーバーにアクセスしてデータを取得し、HTML 構造を変更してデータを表示します。 Ajax を使用する典型的な例は、Gmail や Google マップです。
Flash/Flex/Laszlo
Flex は、エンタープライズレベルのアプリケーションに対応するために開始されたアプリケーション フレームワークです。 Flex は、リッチ クライアント アプリケーションのプレゼンテーション層を開発および展開するための、標準ベースの宣言型プログラミング手法とプロセスを提供します。 Flex 開発者は、直観的な XML ベースの MXML を使用してリッチ ユーザー インターフェイスを定義し、ActionScript (オブジェクト指向スクリプト言語) を使用してプログラム ロジックを作成します。
言語は、Flex サーバーによって SWF 形式のクライアント アプリケーションに変換され、FlashPlayer で実行されます。現在、Flex は Flex 3.0 ベータ版をリリースしています。
Laszlo は、オープンソースの RIA 開発環境です。 Laszlo プラットフォームを使用する場合、開発者は LZX (XML と JavaScript を統合したもの) と呼ばれる記述言語を記述するだけで、J2EE アプリケーション サーバー上で実行される Laszlo プラットフォームがそれを swf 形式のファイルにコンパイルし、表示のためにクライアントに送信します。 。将来の計画では、Laszlo は LZX を Java または .NET ネイティブ コードにコンパイルすることもできるため、運用効率が大幅に向上します。 Laszlo 4.0 の最新リリースでは、開発者は Laszlo を最終的に Flash として表示するか DHTML として表示するかを選択できます。
Flex と Laszlo は、実行場所の観点から見るとどちらもサーバー側テクノロジーであり、ASP、ASP.NET、JSP、PHP のよく知られた実行メカニズムに似ています。 ASP などの動的な Web ページ テクノロジは、インターフェイス要素を HTML に解析してクライアントのブラウザに送信して表示しますが、Flex や Laszlo はインターフェイス要素をバイナリ swf ファイルに解析して、ブラウザの FlashPlayer プラグインで実行します。
AIR
AIR は、以前は Apollo として知られていました。これは、開発者が以前の Web 開発スキルを使用してリッチ インターネット アプリケーションを作成し、デスクトップに展開できるクロスオペレーティング システムのオペレーティング環境です。走る。 。一般に、AIR は Adobe が Flash、PDF、JavaScript、XML、ActionScript などの既存のテクノロジーを統合し、開発者がインターネット リソースにアクセスできるデスクトップ プログラムを開発できるようにするクライアント ランタイム環境を提供します。基本的に、AIR は、Flash (または Ajax) をブラウザーから独立して実行できるデスクトップ アプリケーション実行環境です。
AIR アプリケーションの開発も非常に簡単です。1 つは HTML+JS テクノロジを使用し、2 つは Flex+Flash を使用します。使用できる開発ツールは、flexbuilder、flash IDE、eclipse、notepadなど、上記技術を開発するためのツールです。
RIA を開発するために AIR を使用する利点と欠点は、Flex などと似ています。最大の利点は、独立したデスクトップ プログラムとしてブラウザーから独立して実行でき、ブラウザーのセキュリティ制限の影響を受けないことです。ローカル リソースにアクセスするための権限が追加されます。
現在、AIR はまだテスト段階であり、まだ完成していない機能も多く、正式版リリース後にはさらに期待できる機能が追加されると思います。
WPF
アプリケーションのユーザー インターフェイスは、MFC から VB、WindowsForms から HTML+JS まで、さまざまなテクノロジを使用して開発できます。開発者にとって、これには、アプリケーションの種類ごとに異なるインターフェイス開発テクノロジを使用する必要があります。 Flash などのマルチメディア 2D または 3D インターフェイスの出現により、選択肢はますます増えています。 1 つのテクノロジーを使用してさまざまなアプリケーションのインターフェイスを開発したい場合、これは大きな課題になります。
Windows Presentation Foundation (WPF) は、当初のコード名は「Avalon」で、現在は .NET 3.0 のコンポーネントとしてリリースされており、この問題を解決するように設計されています。
WPF はデスクトップ クライアントとブラウザ クライアントに共通の基盤を提供し、両方のアプリケーション開発を大幅に簡素化します。 WPF はより現代的なアプローチを採用しており、ビデオ、アニメーション、2D または 3D グラフィックス、およびさまざまな種類のドキュメントをサポートしているため、ユーザーはまったく新しい方法で情報を処理できます。さらに、WPF はデスクトップ クライアントとブラウザ クライアントに共通の基盤を提供し、両方のアプリケーション開発を大幅に簡素化します。
Microsoft の次世代インターフェイス技術である WPF の最大の特徴は、インターフェイスのレイアウト記述とインターフェイスのロジック コードが分離されていることです。 WPF は、プロのインターフェイス デザイナーの作業をプロのプログラム開発者の作業から分離し、XAML (Extensible Application Markup Language、ユーザー インターフェイスをコードではなく宣言的に指定できる XML ベースの言語) を通じて作業を容易にします。素晴らしいインターフェイスと強力な機能を備えたアプリケーション。
同時に、Microsoft は、インターフェイス設計者向けに Expression Studio を提供し、プログラム開発者向けに Visual Studio 2008 を提供します (RTM は今年末までにリリースされる予定です)。
WPF は、より強力なグラフィック サポートを提供することにより、Windows フォームやその他の以前のテクノロジでは不可能だったさまざまなデータ視覚化を可能にします。 WPF は、固定形式のドキュメントを表示、配布、印刷するための標準形式を定義する XML Paper 仕様 (XPS) の基礎も提供します。
Silverlight
Silverlight は元々「WPF/E」というコード名でしたが、これは WPF run onEverywhere を意味し、WPF のサブセットです。 Silverlight は、Microsoft が作成した Flash Killer としてコミュニティで知られています。
正式な定義は次のとおりです。「Silverlight は、次世代の .NET ベースのメディア エクスペリエンスとリッチなインタラクティブ アプリケーションをインターネットにもたらす、クロスブラウザー、クロスプラットフォームのプラグインです。」 Silverlight は柔軟なプログラミング モデルを提供し、AJAX、VB、C#、Python、Ruby およびその他の言語をサポートし、DOM 情報にアクセスするために既存の WebApplication に統合されます。マルチメディア テクノロジーのサポートが組み込まれているため、メディア ファイルを非常に低コストで再生できます。
現在、Silverlight は 1.0 ベータ版と 1.1 アルファ版の 2 つのバージョンをリリースしています。 Windows および Mac プラットフォームで実行できます。同時に、Mono プロジェクトは、Linux での Silverlight 実装である Moonlight の開発も積極的に行っています。
XUL
XUL は、Mozilla のオープンソース プロジェクトから生まれた XML ベースのユーザー インターフェイス言語です。これを使用して、Mozilla ブラウザだけでなく、Zulu (FlashMX コンポーネント) や Thinleys (Java 実装) などの他のレンダリング エンジンでも実行できるフォーム アプリケーションを構築できます。 XUL 記述エンジンは非常に小さく (100K 未満)、XML データを使用したり、XML データを生成したりできます。 XUL の大きな欠点は、現在、大手営利団体のサポートを受けていないことです。 XUL の最大の強みは、Gecko エンジンとの統合 (多数の Web 標準への扉を開く) と、XUL が他のほとんどの XML ユーザー インターフェイス記述言語と比較して非常に表現力豊かで簡潔な言語であるという事実です。
現在、XUL は Mozilla (または FireFox) ブラウザに埋め込み、XULRunner オペレーティング環境を通じてブラウザとは独立して実行できます。
JavaFX
「JavaFX は、デスクトップ、モバイル デバイス、ハンドヘルド デバイス、および TV 環境にリッチ インターネット アプリケーション (RIA) を配信するために使用できる Java テクノロジに基づいて構築された完全なランタイム環境です。」これ。 JavaFX は、RIA の分野に参入する SUN の開発テクノロジであり、JavaFXScript と JavaFX Mobile の 2 つの部分が含まれており、新しいスクリプト言語を使用し、Java SE/ME ランタイムに依存し、デスクトップまたはモバイル デバイスで RIA を実行します。 。 応用。
3種類のRIA技術の比較
上記のさまざまなRIA開発技術の紹介を通して、それぞれのコンセプトが異なり、動作環境も異なることがわかります。一般に、RIA 開発テクノロジは 3 つのカテゴリに分類されます:
1. RIA 全体はブラウザ内で実行され、インターフェイスのパフォーマンスと制御を実現するために従来の HTML+CSS+JavaScript テクノロジに依存します。
2. ブラウザ プラグイン クラス。RIA はプラグインを通じてブラウザ内で実行されます。実行プログラムにはメーカー固有の実行形式があり、特定の実行環境が必要です。
3. デスクトップ タイプ。RIA はブラウザなしでデスクトップ上で直接実行されます。一般的なデスクトップ プログラムに非常に似ていますが、インターネット リソースにアクセスでき、展開と更新が簡単であるという特徴があります。
3 つのカテゴリのテクノロジの中で、ブラウザ テクノロジは、RIA を開発するための最も直接的なテクノロジとなり、Web アプリケーションを開発してきたソフトウェア開発者に適しています。
新しいデスクトップ テクノロジはまったく新しいもので、デスクトップ開発のテクノロジ、スキル、概念を最大限に活用し、WebApplication の利点を組み合わせて、簡単な展開と即時インストールを実現します。このタイプのテクノロジは、Windows アプリケーションの開発者に適しています。
ブラウザ プラグインは、ブラウザ テクノロジーと新しいデスクトップの間の妥協点であり、新しいテクノロジーを使用してリッチなインターフェイスを実現するだけでなく、既存の Web テクノロジーと部分的に統合します。
どの RIA テクノロジーがあなたに適していますか?
RIA は、将来のアプリケーション システム開発にとって重要な方向性であり、将来的には自分たちに適したテクノロジーを見つけることを望んでいます。半分の労力で 2 倍の結果を得ることができ、開発効率を向上させ、開発コストを削減すると同時に、豊富な経験と完全な機能を備えたソフトウェア システムを顧客に提供できます。
上記でさまざまなテクノロジーとその長所と短所を紹介し、分類しましたが、「どれを選択すべきか?」という質問に答えるには、次の状況も考慮する必要があります。
まず、私たち自身の状況です:
◆ あなたの技術力は現在、主に Web 開発ですか、それとも Windows 開発ですか?
◆ 現在開発しているアプリケーションの機能タイプは、コンテンツの表示やトランザクション処理が中心ですか?
◆ 現在主に使用しているメーカーや団体の技術はどこですか? .NET、JAVA、またはその他の Web テクノロジですか?
◆ 現在 RIA または RIA に類似したものを開発していますか?
◆ 現在どのようなRIA開発技術を使用していますか?
次に、テクノロジーの選択基準を検討します。
◆ 学習コスト、開発効率
◆ アプリケーションの種類への適合性
◆ 動作環境導入コスト
◆ 動作効率
◆ 完全な機能機能
◆ テクノロジーライセンスコストとサーバー導入コスト、オープンソース、無料または有料
◆ 公式およびコミュニティのテクニカル サポート
◆ 完全な開発ツール
◆ 完全な UI コンポーネント
◆ クロスプラットフォーム機能
最後に、特定の状況に基づいて、テクノロジーを選択するための基準により、これらのテクノロジーの位置付けとランク付けを行うことができます。
技術的なオペレーティング環境の導入コストに基づく比較 (低いものから高いものまで):
Ajax > Flex/Laszlo> Silverlight > オープンソースのものは次のとおりです: Ajax、Laszlo、XUL、JavaFX
無料のものは次のとおりです: 、WPF、AIR
有料のものは次のとおりです: Flex
技術サポートの観点から: Silverlight と WPF が最高の公式サポートを受けることは間違いなく、Flex 公式技術も向上しており、他の技術は主にコミュニティサポート。
開発ツールに関する限り、Silverlight と WPF には最も強力なツールがあり、Flex、AIR、Laszlo にも優れた IDE があり、Ajax の開発ツールは特定の実装に依存します。 XUL 開発ツールの進歩は遅いです。
使用できる UI コンポーネントを見ると、WPF と Silverlight は独自に拡張するか、サードパーティを使用する必要があります。Flex、AIR、Laszlo はすべて、基本的に十分な UI コンポーネントのセットを備えています。 、JavaFX は JRE に付属の UI ツールボックスに依存します。
クロスプラットフォームの機能と互換性に関するランキングも取得できます:
Flex/Laszlo > Ajax> テクノロジーはあらゆる側面から比較検討する必要があります。自分の状況を明確にし、将来のニーズを考慮するだけでなく、適切なテクノロジを見つけるために、各テクノロジの違い、長所、短所をよく理解する必要もあります。
以上がいくつかの RIA テクノロジーの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。