Rich Internet Application: Difference between revisions
No edit summary |
No edit summary |
||
Line 22: | Line 22: | ||
{{Cat see also|Rich Internet application frameworks}} |
{{Cat see also|Rich Internet application frameworks}} |
||
An appropriate ''Rich Internet application framework'' is usually required to run any RIA other than |
An appropriate ''Rich Internet application framework'' is usually required to run any RIA other than [[Ajax (programming)|Ajax]], and needs to be installed using the computer's [[operating system]] before launching the application. The [[software framework]] is typically responsible for downloading, updating, verifying and executing the RIA.<ref>[http://today.java.net/pub/a/today/2005/03/22/laszlo.html Laszlo: An Open Source Framework for Rich Internet Applications]</ref> |
||
== References == |
== References == |
Revision as of 16:49, 3 November 2009
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 and Microsoft Silverlight.[3]
The term was introduced in March 2002 by vendors like Macromedia who were addressing limitations at the time in the "richness of the application interfaces, media and content, and the overall sophistication of the solutions" by introducing proprietary extensions.[4] There has been some 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 hold that it should be therefore be included in this category[5].
As web standards have developed and the compliance of web browser has improved, the need for plug-in based RIAs has diminished. The rapid evolution of Javascript and the emergence of a broad range of Ajax-based desktop-like widget sets have continued this trend. HTML 5 takes this even further by delivering an extensive pseudo-application platform. [6]
Deployment
With a few but growing number of exceptions (most notably YouTube which currently relies on Adobe Flash for video playback) the vast majority of the most popular web sites are native web applications. However, many major sites make use of RIA frameworks such as Ajax and Adobe Flash. Online gaming is an area where plugin-based RIAs are particularly prevalent. 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 Ajax, being browser-native, is the only RIA framework that is universally searchable, but Adobe Flash has now made some 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 (eg Google Maps). Accordingly, reliable broadband connections are often required.
- Complexity of advanced solutions can make them more difficult to design, develop, deploy and debug than traditional web applications (but typically less so than application software).
- Consistency of user interface and experience can be controlled across operating systems. Performance monitoring and fault diagnosis can be particularly difficult.
- Installation and Maintenance of plug-ins, sandboxes or virtual machines is required (but applications are smaller than their predecessors and updates are typically automated). Installation is typically faster than that of application software but slower than that of native web applications and automation may not be possible.
- Offline use may be supported 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 are subject to vulnerabilities and access possible is often much greater than that of native web applications.[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 are often a lot faster. Offloading work to the clients can also improve server performance. Conversely the resource requirements can be prohibitive for small, embedded and mobile devices.
- Richness by way of features not supported natively by the web browser such as video capture (eg. Adobe Flash).
Frameworks
An appropriate Rich Internet application framework is usually required to run any RIA other than Ajax, and needs to be installed using the computer's operating system before launching the application. The software framework is typically responsible for downloading, updating, verifying and executing the RIA.[10]
References
- ^ RIA War Is Brewing
- ^ A Convergence of User Interface Paradigms of Web and Desktop
- ^ Which Rich Internet Application (RIA) Technology Will Lead The Pack
- ^ Macromedia March 2002 requirements for Rich Internet Applications
- ^ [1]
- ^ [2]
- ^ Gmail Voice and Video Chat
- ^ Once Nearly Invisible To Search Engines, Flash Files Can Now Be Found And Indexed
- ^ Living in the RIA World: Blurring the Line Between Web and Desktop Security, 2008
- ^ Laszlo: An Open Source Framework for Rich Internet Applications