A Rich Internet Application (also known as a rich web application,
RIA or installable Internet application) is a
web application
A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
that has many of the characteristics of desktop
application software
Application software is any computer program that is intended for end-user use not operating, administering or programming the computer. An application (app, application program, software application) is any program that can be categorized as ...
. The concept is closely related to a
single-page application, and may allow the user interactive features such as
drag and drop
In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user (computing), user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, i ...
, background menu,
WYSIWYG
In computing, WYSIWYG ( ), an acronym for what you see is what you get, refers to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed document, web ...
editing, etc. The concept was first introduced in 2002 by
Macromedia
Macromedia, Inc. was an American graphics, multimedia, and web development software company headquartered in San Francisco, California, that made products such as Adobe Flash, Flash and Adobe Dreamweaver, Dreamweaver. It was purchased by its riv ...
to describe Macromedia Flash MX product (which later became
Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
).
[Macromedia Flash MX—A next-generation rich client](_blank)
/ref> Throughout the 2000s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies including Java applets, Microsoft Silverlight.
With the deprecation
Deprecation is the discouragement of use of something human-made, such as a term, feature, design, or practice. Typically something is deprecated because it is claimed to be inferior compared to other options available.
Something may be deprec ...
of browser plugin interfaces and transition to standard HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
technologies, Rich Internet Applications were replaced with JavaScript web applications, including single-page applications and progressive web applications.
History
The terms "Rich Internet Application" and "rich client" were introduced in a white paper
A white paper is a report or guide that informs readers concisely about a complex issue and presents the issuing body's philosophy on the matter. It is meant to help readers understand an issue, solve a problem, or make a decision. Since the 199 ...
of March 2002 by Macromedia
Macromedia, Inc. was an American graphics, multimedia, and web development software company headquartered in San Francisco, California, that made products such as Adobe Flash, Flash and Adobe Dreamweaver, Dreamweaver. It was purchased by its riv ...
(now Adobe
Adobe (from arabic: الطوب Attub ; ) is a building material made from earth and organic materials. is Spanish for mudbrick. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is use ...
), though the concept had existed for a number of years earlier under names including: " Remote Scripting" by Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
in April 1999 and the "X Internet" by Forrester Research
Forrester Research, Inc. is a research and advisory firm. Forrester serves clients in North America, Europe, and Asia Pacific. The firm is headquartered in Cambridge, Massachusetts, Cambridge, MA with global offices in Amsterdam, London, New D ...
in October 2000.
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
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
alternatives. Adobe announced that Flash would no longer be produced for mobile or TV (refocusing its efforts on Adobe AIR). Pundits questioned its continued relevance even on the desktop and described it as "the beginning of the end". Research In Motion
BlackBerry Limited, formerly Research In Motion (RIM), is a Canadian software company specializing in secure communications and the Internet of Things (IoT). Founded in 1984, it developed the BlackBerry brand of interactive pagers, smartpho ...
(RIM) announced that it would continue to develop Flash for the PlayBook, a decision questioned by some commentators. Rumors stated that Microsoft was to abandon Silverlight after the upcoming release of version 5 -- this would later turn out to be the case. The combination of these announcements had some proclaiming it "the end of the line for browser plug-ins".
Rich mobile applications
A rich mobile application (RMA) is a mobile application
A mobile application or app is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Mobile applications often stand in contrast to desktop applications which are designed to run on d ...
that inherits numerous properties from web applications and features several explicit properties, such as context awareness
Context awareness refers, in information and communication technologies, to a capability to take into account the ''situation'' of ''entities'', which may be users or devices, but are not limited to those. ''Location'' is only the most obvious el ...
and ubiquity. 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".
Origins of RMAs
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
Windows Mobile is a discontinued mobile operating system developed by Microsoft for smartphones and personal digital assistants (PDA). Designed to be the portable equivalent of the Windows desktop OS in the emerging Mobile device, mobile/port ...
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.
Technologies
Adobe Flash
Adobe Flash manipulated vector
Vector most often refers to:
* Euclidean vector, a quantity with a magnitude and a direction
* Disease vector, an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematics a ...
and raster graphics
upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
to provide animation of text, drawings, and still images. It supported bidirectional streaming
Streaming media refers to multimedia delivered through a network for playback using a media player. Media is transferred in a ''stream'' of packets from a server to a client and is rendered in real-time; this contrasts with file downl ...
of audio and video, and it could capture user input via mouse, keyboard, microphone, and camera. Flash contained an object-oriented language
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
called ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (mean ...
and supported automation via the JavaScript Flash language (JSFL). Flash content could be displayed on various computer systems and devices, using Adobe Flash Player
Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users. computer program for viewing multimedia ...
, which was available free of charge for common web browsers, some mobile phone
A mobile phone or cell phone is a portable telephone that allows users to make and receive calls over a radio frequency link while moving within a designated telephone service area, unlike fixed-location phones ( landline phones). This rad ...
s and a few other electronic device
Electronics is a scientific and engineering discipline that studies and applies the principles of physics to design, create, and operate devices that manipulate electrons and other electrically charged particles. It is a subfield of physics and ...
s (using Flash Lite).
Apache Flex
Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich web applications based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe System ...
, formerly Adobe Flex, is a software development kit
A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific t ...
(SDK) for the development and deployment of cross-platform RIAs based on the Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
platform. Initially developed by Macromedia
Macromedia, Inc. was an American graphics, multimedia, and web development software company headquartered in San Francisco, California, that made products such as Adobe Flash, Flash and Adobe Dreamweaver, Dreamweaver. It was purchased by its riv ...
and then acquired by Adobe Systems
Adobe Inc. ( ), formerly Adobe Systems Incorporated, is an American software, computer software company based in San Jose, California. It offers a wide range of programs from web design tools, photo manipulation and vector creation, through to ...
, Flex was donated by Adobe to the Apache Software Foundation
The Apache Software Foundation ( ; ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open-source software projects. The ASF was formed from a group of developers of the ...
in 2011.
Adobe deprecated Flash in 2017, and the Adobe Flash Player was discontinued in most markets by early 2021.
Java applet
Java applets were used to create interactive 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
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 via Webstart.
Microsoft Silverlight
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 the 2008 Summer Olympics
The 2008 Summer Olympics (), officially the Games of the XXIX Olympiad () and officially branded as Beijing 2008 (), were an international multisport event held from 8 to 24 August 2008, in Beijing, China. A total of 10,942 athletes fro ...
in Beijing, the 2010 Winter Olympics
The 2010 Winter Olympics, officially known as the XXI Olympic Winter Games () and also known as Vancouver 2010 (), were an international winter multi-sport event held from February 12 to 28, 2010 in Vancouver, British Columbia, Canada, with ...
in Vancouver, and the 2008 conventions for both major political parties in the United States. Silverlight was also used by Netflix
Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple lang ...
for its instant video streaming service. Silverlight is no longer under active development and is not supported in Microsoft Edge Legacy
Microsoft Edge Legacy (often shortened to Edge Legacy), originally released as simply Microsoft Edge or Edge is a discontinued Proprietary Software, proprietary cross-platform software, cross-platform web browser created by Microsoft. Released ...
or newer.
Gears
''Gears'', formerly known as ''Google Gears'', is a discontinued utility software
Utility software is a program specifically designed to help manage and tune system or application software. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that b ...
providing offline storage and other additional features to web browsers, including Google Chrome
Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, iPadOS, an ...
. Gears was discontinued in favor of the standardized HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
methods. Gears was removed from Google Chrome 12.
Other techniques
RIAs could use XForms
XForms is an XML format used for collecting inputs from web forms. XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also be used in a standalone manner or with presentation languages other tha ...
to enhance their functionality. Using XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
and XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text, or XSL Formatting Objects. These formats c ...
along with some XHTML
Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.
While HTML, pr ...
, 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.
Security issues in older standards
RIAs present indexing challenges to Web search engine
A search engine is a software system that provides hyperlinks to web pages, and other relevant information on World Wide Web, the Web in response to a user's web query, query. The user enters a query in a web browser or a mobile app, and the sea ...
s, but Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
content is now at least partially indexable.
Security can improve over that of application software
Application software is any computer program that is intended for end-user use not operating, administering or programming the computer. An application (app, application program, software application) is any program that can be categorized as ...
(for example through use of sandbox
A sandbox is a sandpit, a wide, shallow playground construction to hold sand, often made of wood or plastic.
Sandbox or sand box may also refer to:
Arts, entertainment, and media
* Sandbox (band), a Canadian rock music group
* Sandbox (Gu ...
es and automatic updates), but the extensions themselves remain subject to vulnerabilities
Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." The understanding of social and environmental vulnerability, as a methodological approach, involves ...
and access is often much greater than that of native Web application
A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
s. 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.Living in the RIA World: Blurring the Line Between Web and Desktop Security, 2008
/ref>
See also
* HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
* List of rich web application frameworks
* PIGUI
References
External links
Accessible rich Internet applications (WAI-ARIA) 1.0
– W3C Candidate Recommendation 18 January 2011
{{DEFAULTSORT:Rich Internet Application
Mobile software
Rich Internet Applications
Software architecture
Web 2.0