ARich Internet Application (also known as arich web application,[1]RIA orinstallable Internet application) is aweb application that has many of the characteristics of desktopapplication software. The concept is closely related to asingle-page application, and may allow the user interactive features such asdrag and drop, background menu,WYSIWYG editing, etc. The concept was first introduced in 2002 byMacromedia to describe Macromedia Flash MX product (which later becameAdobe Flash).[2] Throughout the 2000s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies includingJava applets, andMicrosoft Silverlight.
With thedeprecation of browserplugin interfaces and transition to standardHTML5 technologies, Rich Internet Applications were replaced with JavaScriptweb applications, includingsingle-page applications andprogressive web applications.
The terms "Rich Internet Application" and "rich client" were introduced in awhite paper of March 2002 byMacromedia (nowAdobe),[2] though the concept had existed for a number of years earlier under names including: "Remote Scripting" byMicrosoft in April 1999[3] and the "X Internet" byForrester 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 favorHTML5 alternatives. Adobe announced that Flash would no longer be produced for mobile[5] or TV[6] (refocusing its efforts onAdobe 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 thePlayBook, 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]
Arich mobile application (RMA) is amobile application that inherits numerous properties from web applications and features several explicit properties, such ascontext awareness and ubiquity.[13][14][2] RMAs are "energy efficient, multi-tier, online mobile applications originated from the convergence ofmobile 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 adoptedAdobe Flash Lite in 2003 to enhance mobile applications' functionality. In 2008, Google broughtGoogle Gears toWindows 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 introducedMicrosoft 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 manipulatedvector andraster graphics to provide animation of text, drawings, and still images. It supported bidirectionalstreaming of audio and video, and it could capture user input via mouse, keyboard, microphone, and camera. Flash contained anobject-oriented language calledActionScript and supported automation via the JavaScript Flash language (JSFL). Flash content could be displayed on various computer systems anddevices, usingAdobe Flash Player, which was available free of charge for common web browsers, somemobile phones and a few otherelectronic devices (usingFlash Lite).[16]
Apache Flex, formerly Adobe Flex, is asoftware development kit (SDK) for the development and deployment of cross-platform RIAs based on theAdobe Flash platform. Initially developed byMacromedia and then acquired byAdobe Systems, Flex was donated by Adobe to theApache Software Foundation in 2011.
Adobe deprecated Flash in 2017, and the Adobe Flash Player was discontinued in most markets by early 2021.
Java applets were used to createinteractive visualizations and to present video, three-dimensional objects and other media. Java applets were appropriate for complex visualizations that required significant programming effort in a high level language or communications between applet and originating server.
JavaFX is a software platform for creating and delivering RIAs that can run across a wide variety of connected devices. The current release (JavaFX 12, March 11, 2019) enables building applications for desktop, browser and mobile phones and comes with 3D support. TV set-top boxes, gaming consoles, Blu-ray players and other platforms are planned. Java FX runs as plug-in Java applet or viaWebstart.[17]
Silverlight was proposed by Microsoft as another proprietary alternative. The technology has not been widely accepted and, for instance, lacks support on many mobile devices. Some examples of application were video streaming for events including the2008 Summer Olympics in Beijing,[18] the2010 Winter Olympics in Vancouver,[19] and the 2008 conventions for both major political parties in the United States.[20] Silverlight was also used byNetflix for its instant video streaming service.[21] Silverlight is no longer under active development and is not supported inMicrosoft Edge Legacy or newer.
Gears, formerly known asGoogle Gears, is a discontinuedutility software providing offline storage and other additional features to web browsers, includingGoogle Chrome. Gears was discontinued in favor of the standardizedHTML5 methods. Gears was removed from Google Chrome 12.[22]
RIAs could useXForms to enhance their functionality.[citation needed][original research?] UsingXML andXSLT[23] along with someXHTML, CSS and JavaScript can also be used to generate richer client side UI components like data tables that can be resorted locally on the client without going back to the server. Mozilla and Internet Explorer browsers both support this.
RIAs present indexing challenges toWeb search engines, butAdobe Flash content is now at least partially indexable.[24]
Security can improve over that ofapplication software (for example through use ofsandboxes and automatic updates), but the extensions themselves remain subject tovulnerabilities and access is often much greater than that of nativeWeb 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]