Rich Internet application

A rich Internet application (RIA; sometimes called an Installable Internet Application) is a Web application that has many of the characteristics of desktop application software, typically delivered by way of a site-specific browser, a browser plug-in, an independent sandbox, extensive use of JavaScript, or a virtual machine.[1] Adobe Flash, JavaFX,[2] and Microsoft Silverlight are currently the three most common platforms.[3]

Google trends shows (as of September 2012) that frameworks based on a plug-in are in the process of being replaced by HTML5/JavaScript-based alternatives.[4][5]

Users generally need to install a software framework using the computer's operating system before launching the application, which typically downloads, updates, verifies and executes the RIA.[6] This is the main differentiator from HTML5/JavaScript-based alternatives like Ajax that use built-in browser functionality to implement comparable interfaces. As can be seen on the List of rich Internet application frameworks which includes even server-side frameworks, while some consider such interfaces to be RIAs, some consider them competitors to RIAs; and others, including Gartner, treat them as similar but separate technologies.[7]

RIAs dominate in browser based gaming as well as applications that require access to video capture (with the notable exception of Gmail, which uses its own task-specific browser plug-in).[8] Web standards such as HTML5 have developed and the compliance of Web browsers with those standards has improved somewhat.

Techniques

Adobe Flash

Main article: 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).

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

Main article: Java applet

Java applets are used to create interactive visualizations and to present video, three dimensional objects and other media. Java applets are more appropriate for complex visualizations that require significant programming effort in high level language or communications between applet and originating server.

JavaFX

Main article: 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 8, July 2016) enables building applications for desktop, browser and mobile phones and comes with 3D support. RIA for mobile phones is called Rich Mobile Application. 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

Main article: 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,[9] the 2010 Winter Olympics in Vancouver,[10] and the 2008 conventions for both major political parties in the United States.[11] Silverlight was also used by Netflix for its instant video streaming service.[12] Silverlight is no longer under active development and is not supported in Microsoft Edge, Microsoft's most recent browser.

Other Techniques

RIAs could use XForms to enhance their functionality. Using XML and XSLT[13] 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.

HTML5/JavaScript

Ember.js

Main article: Ember.js

Ember.js is an open-source client-side JavaScript web application framework based on the model-view-controller (MVC) software architectural pattern.

ExtJS

Main article: ExtJS

ExtJS is a pure JavaScript application framework for building interactive web applications[14] using techniques such as Ajax, DHTML and DOM scripting.

GWT

Main article: Google Web Toolkit

Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files. It is licensed under the Apache License version 2.0.

Vaadin

Main article: Vaadin

Vaadin is an open source Web application framework for rich Internet applications. In contrast to JavaScript libraries and browser-plugin based solutions, it features a server-side architecture, which means that the majority of the logic runs on the servers. Ajax technology is used at the browser-side to ensure a rich and interactive user experience. The client-side portion of Vaadin is built on top of Google Web Toolkit and can be extended with it.

Webix

Main article: Webix

Webix is a lightweight JavaScript application framework for web app development. Webix can be integrated with server side data feeds and also features support for REST load and save protocol. AngularJS, jQuery and Backbone.js can be integrated with Webix, while Angular 2 is compatible.

History

The term "rich Internet application" was introduced in a white paper of March 2002 by Macromedia (now merged into Adobe),[15] though the concept had existed for a number of years earlier under names including Remote Scripting, by Microsoft, c. 1999, X Internet, by Forrester Research in October 2000,[16] Rich (Web) clients, and Rich Web application.[17]

Design, distribution, cost

Rich Internet applications use a Rich Client deployment model (deployment of a compiled client application through a browser) rather than a thin-client-server model (where the user's view is largely controlled from the server).

Flash, Silverlight and Java are application platforms accessed by the user's web browser as plug-ins. These application platforms limit the amount of data downloaded during initialization to only what is necessary to display the page. The browser plug-in is only downloaded once, and does not need to be re-downloaded every time the page is displayed; this reduces application load time, bandwidth requirements, and server load.

Proponents of RIAs assert that the cost of RIA development and O&M is typically lower than that of HTML-based alternatives due to increased developer productivity and standardized, backwards compatible nature of the application platform runtime environments. A 2010 study conducted by International Data Corporation predicted an average savings of approximately $450,000 per application in the case of Flash platform development (in conjunction with use of the open source Flex SDK), a 39% reduction in cost over a three-year period.[18]

Characteristics

RIAs present indexing challenges to Web search engines, but Adobe Flash content is now at least partially indexable.[19]

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

In November 2011, there were a number of announcements that demonstrated a decline in demand for rich internet application architectures based on plug-ins in order to favor HTML5 alternatives. Adobe announced that Flash would no longer be produced for mobile[21] or TV[22] (refocusing its efforts on Adobe AIR). Pundits questioned its continued relevance even on the desktop[23] and described it as "the beginning of the end".[24] Research In Motion (RIM) announced that it would continue to develop Flash for the PlayBook, a decision questioned by some commentators.[25] Rumors state that Microsoft is to abandon Silverlight after version 5 is released.[26] The combination of these announcements had some proclaiming it "the end of the line for browser plug-ins".[27]

See also

References

  1. RIA War Is Brewing
  2. "JavaFX Docs". oracle. oracle.
  3. "Rich Internet Application Market Share", Data from StatOwl. http://www.statowl.com/custom_ria_market_penetration.php[] -- StatOwl data is from ~28m unique visitors per month.; This data is consistent with that reported from RIAStats.com, which is based on ~4m daily visitors http://riastats.com/[]. These statistics clearly indicate consistent evidence that Flash, Silverlight, Java, and HTML5 are available to over 50% of web users as of summer 2011. See also "Rich Internet Applications: The Next Frontier of Corporate Development" by Larry Seltzer. 2010-08-25. eWeek. http://www.eweek.com/c/a/Security/Rich-Internet-Applications-The-Next-Frontier-of-Corporate-Development-732651/
  4. "RIA Trends (Google Trends: adobe flex,silverlight,javaapplet,HTML5 )". Retrieved 2012-09-19.
  5. "RIA Trends (Google Trends: Adobe flex, ExtJS, GWT, Vaadin )". Retrieved 2012-09-19.
  6. "Laszlo: An Open Source Framework for Rich Internet Applications". Retrieved 2 May 2015.
  7. "MarketScope for Ajax Technology and RIA Platforms". 29 December 2008. Retrieved 2 May 2015.
  8. "Hangouts". Retrieved 2 May 2015.
  9. "Microsoft Silverlight Gets a High Profile Win: 2008 Beijing Olympics". Retrieved 2010-02-23.
  10. "Microsoft Wins The 2010 Olympics For Silverlight". Retrieved 2010-02-23.
  11. "Microsoft Working to Make Political Conventions Unconventional". Retrieved 2010-02-23.
  12. "Netflix Begins Roll-Out of 2nd Generation Media Player for Instant Streaming on Windows PCs and Intel Macs". Retrieved 2010-02-23.
  13. "Transformation". 2012-09-19.
  14. (see also, Rich Internet application
  15. Macromedia Flash MX—A next-generation rich client
  16. Erick Schonfeld. "JavaFX Tutorial". JavaFXTuts. AOL. Retrieved 2 May 2015.
  17. Nations, Daniel. "Web Applications". About.com. Retrieved 20 January 2014.
  18. Adobe Flash in the Enterprise: The Case for More Usable Software
  19. Erick Schonfeld. "Once Nearly Invisible To Search Engines, Flash Files Can Now Be Found And Indexed". TechCrunch. AOL. Retrieved 2 May 2015.
  20. Living in the RIA World: Blurring the Line Between Web and Desktop Security, 2008
  21. "Adobe Flash Player Turfed for Mobile Devices". Retrieved 11 November 2011.
  22. "Adobe Scrapping Flash for TV, Too". Retrieved 11 November 2011.
  23. "PlayBook has a Flash-filled future; RIM's worst decision to date?".
  24. "The beginning of the end for Adobe's Flash". Retrieved 11 November 2011.
  25. "PlayBook has a Flash-filled future; RIM's worst decision to date?". Retrieved 11 November 2011.
  26. "Silverlight 5 - the end of the line". Retrieved 11 November 2011.
  27. "Flash, Silverlight and the end of the line for browser plug-ins".
This article is issued from Wikipedia - version of the 11/26/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.