Rich Internet application

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

Rich Internet Applications (RIAs) are web applications that have most of the characteristics of desktop applications, typically delivered either by way of a standards-based web browser, via a browser plug-in, or independently via sandboxes or virtual machines.[1] Examples of RIA frameworks include Ajax, Curl, GWT, Adobe Flash/Adobe Flex/AIR, Java/JavaFX,[2] Mozilla's XUL, OpenLaszlo and Microsoft Silverlight.[3]

Such web applications have characteristics of desktop applications. Rich Internet applications (RIAs) offer a rich, engaging experience that improves user satisfaction and increases productivity. Using the broad reach of the Internet, developers can deploy RIAs across browsers and desktops. RIAs differ primarily from other Internet applications in the amount of interaction in the interface. A traditional page-based Internet application limits interaction to a small set of standard controls such as checkboxes, radio buttons, form fields and buttons. This severely limits the ability to build usable and engaging applications, and most Internet applications have proven clumsier and more difficult to use than their desktop counterparts.

Vendors like Macromedia introduced the term "rich Internet application" in March 2002. At the time they found themselves addressing limitations in the "richness of the application interfaces, media and content, and the overall sophistication of the solutions" by introducing proprietary extensions.[4] Some observersTemplate:Who? debate about whether Ajax properly qualifies as an RIA or whether the term should be reserved for plug-in based technologies. However Ajax clearly demonstrates all the core characteristics of an RIA and current opinion appears to include it in the RIA category.[5]

As web standards have developed and the compliance of web browsers with those standards has improved, the need for plug-in based RIAs has diminished. The rapid evolution of Javascript[citation needed] and the emergence of a broad range of Ajax-based desktop-like widget sets have continued this trend. HTML 5 extends this approach by delivering an extensive pseudo-application platform.[6]



With a few but growing number of exceptions (most notably YouTube, which as of 2010 relies on Adobe Flash for video playback) the vast majority of the most popular web sites as of 2010 offer native web applications. However, many major sites make use of RIA frameworks such as Ajax and Adobe Flash. Plugin-based RIAs dominate in online gaming. Applications (such as Dimdim) which require access to video capture also tend to use RIAs (with the notable exception of Gmail, which uses its own task-specific browser plug-in[7]).

Key characteristics

  • Accessibility: as of 2010 the browser-native nature of Ajax makes it the only universally searchable RIA framework, but Adobe Flash has started to make strides in this direction[8]
  • Advanced communications with supporting servers can improve the user experience, for example by using optimised network protocols, asynchronous I/O and pre-fetching data (as in Google Maps, for example). Accordingly, many RIAs require reliable broadband connections.
  • Complexity of advanced solutions (though making them more difficult to design, develop, deploy and debug than traditional web applications) typically reduces in RIAs compared to traditional application software)
  • Consistency of user-interface and -experience becomes controllable across operating systems (though performance monitoring and fault diagnosis can provide particular difficulties).
  • Installation and maintenance of plug-ins, sandboxes or virtual machines, though required, make applications smaller than their predecessors and typically allow automated updates. RIAs often install faster than application software but slower than native web applications, which do not always allow automation.
  • Offline use may occur by retaining state locally on the client machine (but developments in web standards (prototyped in Google Gears) have also enabled this for native web applications)
  • 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 possibly[original research?] 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 as compared to the client-server implementations built around so-called thin clients.[9]
  • Performance can improve - depending on the application and network characteristics. In particular, applications which can avoid the latency of round-trips to the server by processing locally on the client often run a lot faster. Offloading work to the clients can also improve server performance. Conversely the resource requirements can become prohibitive for small, embedded and mobile devices. An RIA can use a wider (and hopefully[original research?] better) range of controls to improve users’ interaction with the interface, allowing efficient interactions, better error-management, feedback and overall user experience.
  • Richness by way of features not supported natively by the web browser - such as video capture (for example: Adobe Flash). RIAs are usually richer in functionality as they offer user-interface behaviors using only the HTML widgets that can include any technology being used by the client side, including drag and drop, using a slider to change data, calculations performed only by the client and not need to be sent back to the server.
  • Lightweight online programs that provide users with a more dynamic and interactive experience than they might find in a normal web page. Like web applications built with AJAX, Adobe Flex applications feel much more responsive, because a new web page doesn't need to load every time the user takes action. However, unlike working with AJAX, Flex developers don't need to worry about dealing with differing browser implementations of JavaScript or CSS - developers can focus on the application's development, because the framework runs on Adobe's cross-platform Flash Player. Flex provides a collection of technologies that combine to give developers a framework for building Rich Internet Applications.


See also category: Rich Internet application frameworks

Users generally require an appropriate Rich Internet application framework to run any RIA other than Ajax: they need to install such a software framework using the computer's operating system before launching the application. The framework typically downloads, updates, verifies and executes the RIA.[10]


External links

ca:Rich Internet Application

de:Rich Internet Application es:Rich Internet Application fa:کاربردهای غنی اینترنتی fr:Rich Internet Application ko:리치 인터넷 애플리케이션 it:Rich Internet application nl:Rich Internet Application ja:リッチインターネットアプリケーション uz:Boy Internet dasturi pl:Rich Internet Application pt:Internet rica ro:Ria ru:Rich Internet Applications th:Rich Internet application zh:RIA fi:Rikkaat Internet-sovellukset

Personal tools

Served in 0.248 secs.