Rich Internet Application

Last updated

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 2000-s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies including Java applets, Microsoft Silverlight.

Contents

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.

History

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]

Rich mobile applications

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]

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 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 manipulates vector and raster graphics to provide animation of text, drawings, and still images. It supports bidirectional streaming of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an object-oriented language called ActionScript and supports automation via the JavaScript Flash language (JSFL). Flash content may be displayed on various computer systems and devices, using Adobe Flash Player, which is 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.

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. [17]

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 in Beijing, [18] the 2010 Winter Olympics in Vancouver, [19] and the 2008 conventions for both major political parties in the United States. [20] Silverlight was also used by Netflix for its instant video streaming service. [21] 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 providing offline storage and other additional features to web browsers, including Google Chrome. Gears was discontinued in favor of the standardized HTML5 methods. Gears was removed from Google Chrome 12. [22]

Other techniques

RIAs could use XForms to enhance their functionality.[ citation needed ][ original research? ] Using XML and XSLT [23] along with some XHTML, 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 engines, but Adobe Flash content is now at least partially indexable. [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]

See also

Related Research Articles

<span class="mw-page-title-main">Java applet</span> Small application written in Java

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 web page, and the applet was then executed within a Java virtual machine (JVM) in a process separate from the web browser itself. A Java applet could appear in a frame of the web page, a new application window, a program from Sun called appletviewer, or a stand-alone tool for testing applets.

<span class="mw-page-title-main">Adobe Flash</span> Deprecated multimedia platform used to add animation and interactivity to websites

Adobe Flash is, except in China, a discontinued multimedia software platform used for production of animations, rich internet applications, desktop applications, mobile apps, mobile games, and embedded web browser video players.

<span class="mw-page-title-main">Browser game</span> Video game played in a web browser

A browser game is a video game that is played via the internet using a web browser. They are mostly free-to-play and can be single-player or multiplayer. Alternative names for the browser game genre reference their software platform used, with common examples being Flash games, and HTML5 games.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.

Adobe Flash Player is computer software for viewing multimedia content, executing rich Internet applications, and streaming audio and video content created on the Adobe Flash platform. It can run from a web browser as a browser plug-in or independently on supported devices. Originally created by FutureWave under the name FutureSplash Player, it was renamed to Macromedia Flash Player after Macromedia acquired FutureWave in 1996. It was then developed and distributed by Adobe Systems as Flash Player after Adobe acquired Macromedia in 2005. It is currently developed and distributed by Zhongcheng for users in China, and by Harman International for enterprise users outside of China, in collaboration with Adobe.

<span class="mw-page-title-main">Internet Explorer Mobile</span> Mobile version of Internet Explorer web browser by Microsoft

Internet Explorer Mobile was a mobile version of Internet Explorer developed by Microsoft, based on versions of the MSHTML (Trident) layout engine. IE Mobile comes loaded by default with Windows Phone and Windows CE. Later versions of Internet Explorer Mobile are based on the desktop version of Internet Explorer. Older versions however, called Pocket Internet Explorer, are not based on the same layout engine.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

<span class="mw-page-title-main">JavaFX</span> Java software platform for GUI

JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linux, and macOS, as well as mobile devices running iOS and Android, through Gluon Mobile.

Gears, formerly Google Gears, is a discontinued utility software offered by Google to create more powerful web apps by adding offline storage and other additional features to web browsers. Released under the BSD license, Gears is free and open-source. Gears was conceived at a time when a comparable alternative was not available. However, Gears was discontinued in favor of the standardized HTML5 methods that eventually became prevalent.

<span class="mw-page-title-main">Site-specific browser</span> Software application for browsing a particular website

A site-specific browser (SSB) is a software application that is dedicated to accessing pages from a single source (site) on a computer network such as the Internet or a private intranet. SSBs typically simplify the more complex functions of a web browser by excluding the menus, toolbars and browser GUI associated with functions that are external to the workings of a single site. These applications are typically started by a desktop icon which is usually a favicon.

<span class="mw-page-title-main">Google Chrome</span> Web browser developed by Google

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, and also for Android, where it is the default browser. The browser is also the main component of ChromeOS, where it serves as the platform for web applications.

<span class="mw-page-title-main">TestComplete</span> Software test automation tool

TestComplete is a functional automated testing platform developed by SmartBear Software. TestComplete gives testers the ability to create automated tests for Microsoft Windows, Web, Android, and iOS applications. Tests can be recorded, scripted or manually created with keyword driven operations and used for automated playback and error logging.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML5 video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.

Modern HTML5 has feature-parity with the now-obsolete Adobe Flash. Both include features for playing audio and video within web pages. Flash was specifically built to integrate vector graphics and light games in a web page, features that HTML5 also supports.

An Internet operating system, or Internet OS, is any type of operating system designed to run all of its applications and services through an Internet client, generally a web browser. The advantages of such an OS would be that it would run on a thin client, allowing cheaper, more easily manageable computer systems; it would require all applications to be designed on cross-platform, open standards; and would not tie a user's applications, documents, and preferences to a single computer, but rather place them in the Internet cloud. The Internet OS has also been promoted as the perfect type of platform for software as a service.

Upload components are software products that are designed to be embedded into a web site to add upload functionality to it. Upload components are designed to replace the standard HTML4 upload mechanism. Compared with HTML4, Upload Components have a more user-friendly interface and support a wider range of features.

References

  1. McCune, Doug (2009-02-23). Adobe Flex 3.0 For Dummies. John Wiley & Sons. p. Chapter 1, "From HTML to RIA". ISBN   978-0470436820.
  2. 1 2 3 Macromedia Flash MX—A next-generation rich client
  3. Clinick, Andrew (12 April 1999). "Remote Scripting". Microsoft Docs . Retrieved 2019-07-10.
  4. Colony, George F. (October 2000). "My View: X Internet". Forrester Research . Archived from the original on 2008-05-18.
  5. "Adobe Flash Player Turfed for Mobile Devices" . Retrieved 11 November 2011.
  6. "Adobe Scrapping Flash for TV, Too" . Retrieved 11 November 2011.
  7. "PlayBook has a Flash-filled future; RIM's worst decision to date?".
  8. "The beginning of the end for Adobe's Flash" . Retrieved 11 November 2011.
  9. "PlayBook has a Flash-filled future; RIM's worst decision to date?" . Retrieved 11 November 2011.
  10. "Silverlight 5 - the end of the line" . Retrieved 11 November 2011.
  11. "Silverlight End of Support - Microsoft Support". support.microsoft.com. Retrieved 2023-04-01.
  12. "Flash, Silverlight and the end of the line for browser plug-ins".
  13. Khan, Atta ur Rehman; Othman, Mazliza; Khan, Abdul Nasir; Abid, Shahbaz Akhtar; Madani, Sajjad Ahmad (2015-04-23). "MobiByte: An Application Development Model for Mobile Cloud Computing". Journal of Grid Computing. 13 (4): 605–628. doi:10.1007/s10723-015-9335-x. ISSN   1570-7873.
  14. Khan, A. u R.; Othman, M.; Xia, F.; Khan, A. N. (2015-05-01). "Context-Aware Mobile Cloud Computing and Its Challenges". IEEE Cloud Computing. 2 (3): 42–49. doi:10.1109/MCC.2015.62. ISSN   2325-6095.
  15. Abolfazli, Saeid; Sanaei, Zohreh; Gani, Abdullah; Xia, Feng; Yang, Laurence T. (1 September 2013). "Rich Mobile Applications: Genesis, taxonomy, and open issues". Journal of Network and Computer Applications. 40: 345–362. doi:10.1016/j.jnca.2013.09.009.
  16. McCune, Doug; Subramaniam, Deepa (2009-02-23). Adobe Flex 3.0 For Dummies. John Wiley & Sons. ISBN   978-0-470-43682-0.
  17. "JavaFX 2.2 Release Notes | JavaFX 2 Tutorials and Documentation". docs.oracle.com. Retrieved 2022-11-24.
  18. "Microsoft Silverlight Gets a High Profile Win: 2008 Beijing Olympics" . Retrieved 2010-02-23.
  19. "Microsoft Wins The 2010 Olympics For Silverlight" . Retrieved 2010-02-23.
  20. "Microsoft Working to Make Political Conventions Unconventional". Archived from the original on 2010-05-19. Retrieved 2010-02-23.
  21. "Netflix Begins Roll-Out of 2nd Generation Media Player for Instant Streaming on Windows PCs and Intel Macs". Archived from the original on 2010-05-29. Retrieved 2010-02-23.
  22. "Chrome Stable Release". Chrome Releases. Retrieved 2021-04-12.
  23. "Transformation". 2012-09-19.
  24. Erick Schonfeld. "Once Nearly Invisible To Search Engines, Flash Files Can Now Be Found And Indexed". TechCrunch. AOL. Retrieved 2 May 2015.
  25. Living in the RIA World: Blurring the Line Between Web and Desktop Security, 2008