A rich web application (originally called a rich Internet application, or RIA or installable Internet application) is a
web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
that has many of the characteristics of desktop
application software
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
. The concept is closely related to a
single-page application
A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of a web browser loading entire new pages. ...
, 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 selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used to i ...
, background menu,
WYSIWYG
In computing, WYSIWYG ( ), an acronym for What You See Is What You Get, is a system in which editing software allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product, such as a printed d ...
editing, etc. The concept was first introduced in 2002 by Macromedia to describe Macromedia Flash MX product (which later became
Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia Computing platform, software platform used for production of Flash animation, animations, rich web applications, application software, desktop applications, mobile apps, mo ...
).
[Macromedia Flash MX—A next-generation rich client](_blank)
/ref> Throughout the 2000-s, the term was generalized to describe web applications developed with other competing browser plugin technologies including Java applets
Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a ...
, Microsoft Silverlight
Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...
.
With the deprecation of browser plugin interfaces and transition to standard HTML5
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
technologies, rich web applications were replaced with JavaScript web applications
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
, including single-page applications and progressive web applications
A progressive web application (PWA), commonly known as a progressive web app, is a type of application software delivered through the World Wide Web, web, built using common web technologies including HTML, Cascading Style Sheets, CSS, JavaScript, ...
.
History
The terms "rich client" and "rich Internet application" 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. A white paper ...
of March 2002 by Macromedia
Macromedia, Inc., was an American graphics, multimedia, and web development software company (1992–2005) headquartered in San Francisco, California, that made products such as Flash and Dreamweaver. It was purchased by its rival Adobe Systems ...
(now Adobe
Adobe ( ; ) 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 used to refer to any kind of e ...
), though the concept had existed for a number of years earlier under names including: "Remote Scripting Remote scripting is a technology which allows scripts and programs that are running inside a browser to exchange information with a server. The local scripts can invoke scripts on the remote side and process the returned information.
The earliest ...
" by Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
in April 1999, "X Internet" by Forrester Research
Forrester is a research and advisory company that offers a variety of services including research, consulting, and events.
Forrester has nine North America locations: Cambridge, Massachusetts; New York, New York; San Francisco, California; McL ...
in October 2000, Rich Web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
.
In November 2011, there were a number of announcements that demonstrated a decline in demand for rich web application architectures based on plug-ins in order to favor HTML5
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
alternatives. Adobe announced that Flash would no longer be produced for mobile or TV (refocusing its efforts on Adobe AIR
Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicatio ...
). Pundits questioned its continued relevance even on the desktop and described it as "the beginning of the end". Research In Motion
BlackBerry Limited is a Canadian software company specializing in cybersecurity. Founded in 1984, it was originally known as Research In Motion (RIM). As RIM, it developed the BlackBerry brand of interactive pagers, smartphones, and tablets ...
(RIM) announced that it would continue to develop Flash for the PlayBook
Playbook may refer to:
* BlackBerry PlayBook, a tablet computer by BlackBerry
*A book that contains a script or story for a theatrical play. This written version of the composition is used in preparing for a performance
**Fleury Playbook, a medieva ...
, a decision questioned by some commentators. Rumors state that Microsoft is to abandon Silverlight after version 5 is released. 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 de ...
that inherits numerous properties from rich 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
Mobile Cloud Computing (MCC) is the combination of cloud computing and mobile computing to bring rich computational resources to mobile users, network operators, as well as cloud computing providers.Fangming Liu, Peng Shu, Hai Jin, Linjie Ding, Jie ...
, 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 rich web applications to desktop computers and the increasing popularity of mobile devices, researchers brought these enhanced rich web application functionalities to the smartphone platform. NTT DoCoMo of Japan adopted Adobe Flash Lite
Adobe Flash Lite (formerly Macromedia Flash Lite) was a lightweight version of Adobe Flash Player, a software application published by Adobe Systems for viewing Flash content. Flash Lite operates on devices that Flash Player cannot, such as mobi ...
in 2003 to enhance mobile applications' functionality. In 2008, Google brought Google Gears to Windows Mobile
Windows Mobile is a discontinued family of mobile operating systems developed by Microsoft for smartphones and personal digital assistants.
Its origin dated back to Windows CE in 1996, though Windows Mobile itself first appeared in 2000 as Pock ...
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 rich web applications. 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
Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...
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 manipulates vector
Vector most often refers to:
*Euclidean vector, a quantity with a magnitude and a direction
*Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism
Vector may also refer to:
Mathematic ...
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 supports bidirectional streaming
Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an object-oriented language
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
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 (meaning i ...
and supports automation via the JavaScript Flash language (JSFL). Flash content may 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 Software, computer software for viewing multimedia contents, executing rich Internet applications, and streaming media, streaming audio and vide ...
, which is available free of charge for common web browsers, some mobile phone
A mobile phone, cellular phone, cell phone, cellphone, handphone, hand phone or pocket phone, sometimes shortened to simply mobile, cell, or just phone, is a portable telephone that can make and receive calls over a radio frequency link whil ...
s and a few other electronic device
The field of electronics is a branch of physics and electrical engineering that deals with the emission, behaviour and effects of electrons using electronic devices. Electronics uses active devices to control electron flow by amplification ...
s (using Flash Lite
Adobe Flash Lite (formerly Macromedia Flash Lite) was a lightweight version of Adobe Flash Player, a software application published by Adobe Systems for viewing Flash content. Flash Lite operates on devices that Flash Player cannot, such as mobi ...
).
Apache Flex, 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 to ...
(SDK) for the development and deployment of cross-platform RIAs based on the Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia Computing platform, software platform used for production of Flash animation, animations, rich web applications, application software, desktop applications, mobile apps, mo ...
platform. Initially developed by Macromedia
Macromedia, Inc., was an American graphics, multimedia, and web development software company (1992–2005) headquartered in San Francisco, California, that made products such as Flash and Dreamweaver. It was purchased by its rival Adobe Systems ...
and then acquired by Adobe Systems
Adobe Inc. ( ), originally called Adobe Systems Incorporated, is an American multinational computer software company incorporated in Delaware
and headquartered in San Jose, California. It has historically specialized in software for the crea ...
, 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 A ...
in 2011.
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 also known as Beijing 2008 (), were an international multisport event held from 8 to 24 August 2008, in Beijing, China. A total of 10,942 athletes from 204 Na ...
in Beijing, the 2010 Winter Olympics
)''
, nations = 82
, athletes = 2,626
, events = 86 in 7 sports (15 disciplines)
, opening = February 12, 2010
, closing = February 28, 2010
, opened_by = Governor General Michaëlle Jean
, cauldron = Catriona Le May DoanNancy GreeneWayne Gretz ...
in Vancouver, and the 2008 conventions for both major political parties in the United States. Silverlight was also used by Netflix
Netflix, Inc. is an American subscription video on-demand over-the-top streaming service and production company based in Los Gatos, California. Founded in 1997 by Reed Hastings and Marc Randolph in Scotts Valley, California, it offers a fil ...
for its instant video streaming service. Silverlight is no longer under active development and is not supported in Microsoft Edge, Microsoft's most recent browser.
Gears
''Gears'', formerly known as ''Google Gears'', is a discontinued utility software
Utility software is software designed to help analyze, configure, optimize or maintain a computer. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that benefit ord ...
providing offline storage and other additional features to web browsers, including Google Chrome. Gears was discontinued in favor of the standardized HTML5
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
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 arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
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, which may subseque ...
along with some XHTML
Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages. It mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.
While HTML, prior ...
, 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 designed to carry out web searches. They search the World Wide Web in a systematic way for particular information specified in a textual web search query. The search results are generally presented in a ...
s, but Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia Computing platform, software platform used for production of Flash animation, animations, rich web applications, application software, desktop applications, mobile apps, mo ...
content is now at least partially indexable.
Security can improve over that of application software
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
(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 ( ...
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."
A window of vulnerability (WOV) is a time frame within which defensive measures are diminished, com ...
and access is often much greater than that of native Web application
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
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 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
* List of rich web application frameworks : ''For a list of mobile only frameworks see Multiple phone web based application framework''.
Below is a list of rich web application frameworks:
{, class="wikitable sortable" style="width: auto; table-layout: fixed; text-align: center;"
, - s ...
* 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 web applications
Software architecture
Web 2.0