Rich Internet application

来源:互联网 发布:html个人主页源码 编辑:程序博客网 时间:2024/05/22 17:41

rich Internet application (RIA) is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of Javascript, or virtual machines.[1] Adobe FlashJavaFX, and Microsoft Silverlight are currently the three most common platforms, with penetration rates around 99%, 80%, and 54% respectively (as of July 2010).[2] Although new Web standards have emerged, they still use the principles behind RIAs.

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.[3] This is the main differentiator from 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.[4]

RIAs dominate in online 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).[5] Web standards such as HTML5 have developed and the compliance of Web browsers with those standards has improved somewhat. However, the need for plug-in based RIAs for accessing video capture and distribution has not diminished,[6] even with the emergence of HTML5 and JavaScript-based desktop-like widget sets that provide alternative solutions for mobile Web browsing.

Major platforms

The following platforms have over 50% market penetration on the desktop.[7]

[edit]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 (JFSL). Flash content may be displayed on various computer systems and devices, using Adobe Flash Player, which is available free of charge for commonweb browsers, some mobile phones and a few other electronic devices (using Flash Lite).

[edit]HTML 5

HTML 5 (with CSS for layout and Javascript for interactivity) is a language for structuring and presenting content for the World Wide Web, a core technology of the Internet. It is the fifth revision of the HTML standard (originally created in 1990 and most recently standardized as HTML4 in 1997.[8] HTML5 is suitable for many “rich” applications.[9] It is gaining the backing of major web sites[10][11], and has full support from Microsoft.[12]

[edit]Java

Java applets are used both to create interactive visualisations 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. Oracle's new JavaFX is considered as another competitor for Rich Internet Applications.

[edit]Microsoft Silverlight

In recent years, Microsoft Silverlight has emerged as a potential competitor to Flash[citation needed]. While not yet as prevalent on websites as Flash, Silverlight has been used to provide video streaming for many high profile events, including the 2008 Summer Olympics in Beijing,[13] the 2010 Winter Olympics in Vancouver,[14] and the 2008 conventions for both major political parties in the United States.[15] Silverlight is also used by Netflix for its instant video streaming service.[16]

[edit]History

The term "rich Internet application" was introduced in a white paper of March 2002 by Macromedia (now merged into Adobe),[17] though the concept had existed for a number of years earlier under names such as:

  • Remote Scripting, by Microsoft, circa 1999
  • X Internet, by Forrester Research in October 2000[citation needed]
  • Rich (Web) clients[citation needed]
  • Rich Web application[citation needed]

[edit]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 demonstrated 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]

[edit]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 tovulnerabilities 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, calculations, 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]

[edit]See also

  • HTML5
  • List of rich Internet application frameworks
  • PIGUI

[edit]