JavaScript ライブラリ、ICEfaces、Adobe の Flash、Microsoft Silverlight、そして今回の HTML5 により、ネットワークの覇権をめぐる世界的な競争は新たな時代、つまりリッチ インターネット アプリケーション (略して RIA、中国語ではリッチ インターネット アプリケーションとも呼ばれます) の時代に入りました。
この記事の目的は、RIA とは何かを定義し、Web が RIA に近づき始めた理由を説明し、現在存在するさまざまな RIA フレームワークを調査し、各フレームワークの長所と短所の概要を示し、その利点について説明することです。これらの新しいテクノロジーは、将来のサバイバル状態になります。
RIAとは何ですか?
いわゆる RIA (リッチ ネットワーク アプリケーション) は、デスクトップ プログラムのように動作できるネットワーク アプリケーションを指します。 RIA が登場する前は、ほとんどの Web アプリケーションは静的ページで構築されていました。
Sumo Paint は、Photoshop のようなグラフィック編集機能を備えた Flash ベースの RIA です。
デスクトップ アプリケーションとは異なり、Web ページを操作するには、完全に新しいページを再読み込みする必要があることがよくあります。一方、デスクトップ アプリケーションは、すべての処理がユーザーのマシン自体で行われるため、ユーザーの対話性が大幅に向上し、よりシームレスなユーザー エクスペリエンスが得られます。
その結果、ソフトウェア開発者は、「当社の製品はデスクトップ アプリケーションであるべきか、それとも Web アプリケーションであるべきか?」と自問するようになりました。
どちらのタイプのアプリにもそれぞれ長所と短所があるため、これは常に公平な質問です。
デスクトップ アプリケーションはユーザー操作がスムーズですが、ソフトウェアは販売されているため、リリースやアップデートの問題が発生します。
一方、Web アプリケーションはオンラインで簡単に入手でき、ソフトウェアのリリースやアップデートに伴う問題はありませんが、ユーザーの対話性は非常に劣っています。
では、どうすれば両方の長所を活かすことができるのでしょうか?
RIA は両方の長所を備えています。 RIA はインターネットを通じてリリースされ、非常に豊富なユーザー インタラクションを備えています。 Web アプリケーションが更新せずにサーバー リクエストを送信する方法である Ajax の出現のおかげで、RIA 運動に加わる新しいテクノロジが登場しました。
これらのテクノロジーに基づいて、JavaScript ライブラリ、ICEfaces、Adobe Flash 4 (Flex 3 の前身)、Microsoft Silverlight、HTML5 など、開発者によるリッチ Web アプリケーションの構築と展開を支援するいくつかのフレームワークが登場しました。
RIA フレームワークについて 1 つずつ説明していきます。
Web アプリケーション用の JavaScript ライブラリ
jQuery や MooTools などの JavaScript ライブラリは、スムーズでインタラクティブなリッチ Web アプリケーションの展開に真に役立つ最初のテクノロジーの 1 つです。これらは、クライアント側のスクリプトを利用してフロントエンド インターフェイス機能を処理する RIA フレームワークを提供します。これらは、クロスブラウザーでテストされたいくつかの便利な機能が統合された基本的な Javascript ファイルです。 Ajax を使用するだけでなく、コンテンツの表示と非表示など、一般的なユーザー主導のイベントベースの対話を処理することもできます。
現在最も人気のあるものは、jQuery (特に jQuery UI を使用)、MooTools、YIU (Yahoo User Interface Library)、および EXTJS です。これらのライブラリには、グリッド、チャート、複雑なフォーム要素などの RIA コンポーネントと、Ajax を処理するためのツールが含まれています。最も魅力的なのは、Web 開発用の JavaScript ライブラリのほとんどがオープンソースであることです。
統合開発環境 (IDE) を購入したくないが、Web サイトに豪華でプロフェッショナルな RIA 機能が必要な場合は、JavaScript ライブラリが最適な選択肢です。
JavaScript ライブラリを使用する Web サイトには、Google、Digg、Yahoo、Amazon、Microsoft、Twitter、Best Buy などがあります。
ICEフェイス
ICEfaces は、標準 JavaServer Faces (JSF) フレームワークの拡張機能であり、方程式から JavaScript を削除することでプログラマのワークフローを簡素化するように設計されています。言い換えれば、ICEfaces は Java アプリケーション インターフェイスを通じてすべての JavaScript/Ajax を処理します。これらのカスタム JavaScript 関数の複雑な導入を取り除くことで、リッチな Web アプリケーションを作成するタスクが大幅に簡素化されます。
チームの大多数が Java 開発者である場合、Web アプリケーションが他の ICEfaces にはない複雑なコンポーネントを必要としない場合、または Web アプリケーションがイベント駆動型である場合は、ICEfaces を使用することをお勧めします。 Web アプリケーションがイベント駆動型の場合、ICEfaces は、HTML5、Flash Builder 4、および Silverlight でサポートされている真の「サーバー プッシュ」テクノロジーを提供していないことを必ず理解してください。ただし、これに対応して、ICEfaces はロング ポーリング方式を使用してサーバー プッシュ テクノロジをシミュレートします。
ICEface を使用しているサイトには、ボーイング、NASA、ユニオン パシフィック、T-Mobile、バンク オブ アメリカなどがあります。
Adobe Flash ビルダー 4
Flash は長い間存在していましたが、RIA Web コンポーネントを提供する Flash の拡張機能である Flex が導入されるまでは、Flash を使用して Web アプリケーション全体を構築するのは面倒でした。
Adobe Flash Builder 4 の最も魅力的な点は、クロスプラットフォームおよびクロスブラウザ機能であり、プログラムをすべてのオペレーティング システムおよびすべてのブラウザで同じように実行できることです。 JavaScript では、ブラウザーにはコードを管理および処理するさまざまな JavaScript エンジンが搭載されていますが、Adobe の Flash にはエンジンが 1 つしかなく、ユーザーは Adobe Flash ブラウザー プラグイン (通常はこれを使用します) を通じてインストールします。
Flash Builder 4 アプリケーションは HTML ページに埋め込まれているため、これを行うことができます。つまり、ブラウザ自体はアプリケーションのパフォーマンスに影響を与えません。これは、必要に応じて、最も複雑な Web アプリケーションでも IE6 で実行できることを意味します。 (Flash プラグイン/エンジンは頻繁に更新されるため、ユーザーのプラグインのバージョンにわずかに依存するだけなので、これはもちろん簡単です)。
これらのアプリケーションには通常、Java バックエンド処理などのサーバー側処理が伴い、開発には Flash Builder 4 IDE が必要です。
チームが主に Java で開発している場合 (Java でうまく機能するため)、またはアプリケーションがイベント駆動型アーキテクチャを使用している場合は、Adobe Flash Builder 4 を選択できます。
Web アプリケーションとして Flash を使用する Web サイトには、Mint.com、Flickr、Hyundai などがあります。
シルバーライト
Silverlight は基本的に、Adobe Flex/Adobe Flash の Microsoft バージョンです。ある程度の注目を集めていますが、Adobe Flash ほどの人気レベルには達していないようです。
Silverlight アプリケーションは Microsoft 製品であるため、明らかに .NET バックエンドに関連付けられています。これは、Silverlight/.NET と Adobe Flex/[PHP などのサーバーサイド スクリプティング] の間の統合について考える必要があることを意味します。
Web アプリケーションに複雑なグラフィックスが必要な場合、チームが主に .NET 開発者である場合、またはアプリケーションがイベント駆動型アーキテクチャを使用している場合は、Silverlight を選択できます。
Silverlight を使用する Web サイト (Netflix など)。
HTML5
HTML5 は、RIA 運動の最新の開発です。 HTML5 は本質的に、HTML4、JavaScript、CSS、JavaScript コード ライブラリ、および Falsh を最適に組み合わせたものであり、API モデルを単一の仕様に活用しています。 HTML5 はオープン テクノロジであるため、Adobe の Flash や Microsoft の Silverlight のような単一の管理団体は存在しません。
HTML5 仕様はまだ完成しておらず、IE9 もまだリリースされていないため、運用レベルの Web アプリケーションを構築するにはもう少し待つ必要があります。
現在、IE8 を除くすべての主要なブラウザは HTML5 をサポートしています。 IE8 はブラウザ市場の大部分を占めているため、IE9 のリリース前に HTML5 が主流になるのは非常に困難です。
HTML5 が広くサポートされたら、IDE (Flex や Silverlight などのフレームワークに必要) を購入して学習したくない場合、アプリケーションがイベント駆動型アーキテクチャを使用している場合、または組み込みの HTML 機能と JavaScript を使用したい場合代わりに API 機能 サードパーティの JavaScript ライブラリを使用し、次に HTML を使用することをお勧めします。
グラフィックスは HTML5 で適切に処理されますが、現時点では、Flash と Silverlight を使用して複雑なグラフィックスやアニメーションを処理する方が簡単かつ高速なオプションです。
HTML5 アプリはインターネットの未来ですか?正確には違います。創造的で革新的な Web 開発者が特別なものを作成し続ける限り、HTML5 やその他の Web テクノロジーではできない驚くべきことを実行できる新しいテクノロジーが常に出現します。
JavaScript ライブラリ、ICEfaces、Flash、Silverlight、HTML5 は、何よりもその創造性と革新性のために存在しています。将来のネットワークは、現在と同様に、多くの共存するテクノロジーで構成されるでしょう。
出典: sixrevisions.com
編集者: MazingTech
MazingTechのご貢献に感謝します