A Rich Internet Application (also known as a rich web application,[1]RIA or installable Internet application) is a web application that has many of the characteristics of desktop application software. The concept is closely related to a single-page application, and may allow the user interactive features such as drag and drop, background menu, WYSIWYG editing, etc. The concept was first introduced in 2002 by Macromedia to describe Macromedia Flash MX product (which later became Adobe Flash).[2] Throughout the 2000s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies including Java applets, and Microsoft Silverlight.
With the deprecation of browser plugin interfaces and transition to standard HTML5 technologies, Rich Internet Applications were replaced with JavaScript web applications, including single-page applications and progressive web applications.
The terms "Rich Internet Application" and "rich client" were introduced in a white paper of March 2002 by Macromedia (now Adobe),[2] though the concept had existed for a number of years earlier under names including: "Remote Scripting" by Microsoft in April 1999[3] and the "X Internet" by Forrester Research in October 2000.[4]
In November 2011, there were a number of announcements that demonstrated a decline in demand for Rich Internet Application architectures based on browser plug-ins in order to favor HTML5 alternatives. Adobe announced that Flash would no longer be produced for mobile[5] or TV[6] (refocusing its efforts on Adobe AIR). Pundits questioned its continued relevance even on the desktop[7] and described it as "the beginning of the end".[8]Research In Motion (RIM) announced that it would continue to develop Flash for the PlayBook, a decision questioned by some commentators.[9] Rumors stated that Microsoft was to abandon Silverlight after the upcoming release of version 5 -- this would later turn out to be the case.[10][11] The combination of these announcements had some proclaiming it "the end of the line for browser plug-ins".[12]
A rich mobile application (RMA) is a mobile application that inherits numerous properties from web applications and features several explicit properties, such as context awareness and ubiquity.[13][14][2] RMAs are "energy efficient, multi-tier, online mobile applications originated from the convergence of mobile cloud computing, future web, and imminent communication technologies envisioning to deliver rich user experience via high functionality, immersive interaction, and crisp response in a secure wireless environment while enabling context-awareness, offline usability, portability, and data ubiquity".[15]
After successful deployment of web applications to desktop computers and the increasing popularity of mobile devices, researchers brought these enhanced web application functionalities to the smartphone platform. NTT DoCoMo of Japan adopted Adobe Flash Lite in 2003 to enhance mobile applications' functionality. In 2008, Google brought Google Gears to Windows Mobile 5 and 6 devices to support platform-neutral mobile applications in offline mode. Google Gears for mobile devices is a mobile browser extension for developing web applications enriched by a separate, user-installable add-on. These applications can be executed inside the mobile device with a web browser regardless of the architecture, operating system and technology. In April 2008, Microsoft introduced Microsoft Silverlight mobile to develop engaging, interactive UIs for mobile devices. Silverlight is a .NET plug-in compatible with several mobile browsers that runs the Silverlight-enabled mobile apps. Android accommodated the Google Gear plug-in in the Google Chrome Lite browser to improve the interaction experience of Android end-users.
Adobe Flash manipulated vector and raster graphics to provide animation of text, drawings, and still images. It supported bidirectional streaming of audio and video, and it could capture user input via mouse, keyboard, microphone, and camera. Flash contained an object-oriented language called ActionScript and supported automation via the JavaScript Flash language (JSFL). Flash content could be displayed on various computer systems and devices, using Adobe Flash Player, which was available free of charge for common web browsers, some mobile phones and a few other electronic devices (using Flash Lite).[16]
Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform RIAs based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe Systems, Flex was donated by Adobe to the Apache Software Foundation in 2011.
Adobe deprecated Flash in 2017, and the Adobe Flash Player was discontinued in most markets by early 2021.
Javaアプレットは、インタラクティブな視覚化を作成したり、ビデオ、3Dオブジェクト、その他のメディアを表示したりするために使用されました。Javaアプレットは、高水準言語での高度なプログラミング作業や、アプレットと送信元サーバー間の通信を必要とする複雑な視覚化に適していました。
JavaFX は、さまざまな接続デバイスで実行できる RIA を作成および配信するためのソフトウェア プラットフォームです。現在のリリース (JavaFX 12、2019 年 3 月 11 日) では、デスクトップ、ブラウザー、モバイル フォン向けのアプリケーションを構築でき、3D サポートが付属しています。TV セットトップ ボックス、ゲーム コンソール、Blu-ray プレーヤーなどのプラットフォームも計画されています。Java FX は、プラグイン Java アプレットとして、またはWebstartを介して実行されます。[ 17 ]
Silverlight は、マイクロソフトが独自の代替案として提案したものです。この技術は広く受け入れられておらず、例えば多くのモバイル デバイスではサポートされていません。アプリケーションの例としては、 2008 年の北京夏季オリンピック[ 18 ] 、2010 年のバンクーバー冬季オリンピック[ 19 ]、および米国の二大政党の 2008 年の党大会[ 20 ] などのイベントのビデオストリーミングがありました。Silverlight は、 Netflixのインスタント ビデオ ストリーミング サービスにも使用されました[ 21 ] 。Silverlightは現在アクティブな開発が行われておらず、 Microsoft Edge Legacy以降ではサポートされていません。
Gears(旧称Google Gears)は、 Google Chromeを含むウェブブラウザにオフラインストレージやその他の追加機能を提供する、現在は提供が終了しているユーティリティソフトウェアです。Gearsは、標準化されたHTML5方式の採用に伴い提供が終了しました。GearsはGoogle Chrome 12から削除されました。 [ 22 ]
RIAはXFormsを使用して機能を強化できます。XMLとXSLT [ 23 ]に加えて、XHTML、CSS、JavaScriptを使用することで、サーバーに戻ることなくクライアント側でローカルに並べ替え可能なデータテーブルなどのリッチなクライアント側UIコンポーネントを生成することもできます。MozillaとInternet Explorerのブラウザはどちらもこれをサポートしています。
RIAはWeb検索エンジンにとってインデックス作成上の課題となるが、Adobe Flashコンテンツは少なくとも部分的にはインデックス作成可能になっている。[ 24 ]
Security can improve over that of application software (for example through use of sandboxes and automatic updates), but the extensions themselves remain subject to vulnerabilities and access is often much greater than that of native Web applications. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file-system and to the operating system on the client to the application server on the other side of the connection. This approach allows the client system to handle local activities, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially versus client-server implementations built around so-called thin clients.[25]