Rich Internet applications can be introduced as web applications that have the features and functionalities of traditional web applications. That means, RIAs also transfer the processing necessary for the UI to the web client, but keep the bulk of data back on the application server. Therefore it can be called as a cross of traditional web applications and desktop applications.
“RICH”standards the broad range of media such as multiple fonts, vector and bitmap graphic files, animations, online conferencing, audio and video. Rich internet applications run in a web browser and don’t need installed software for that.
Standard Web Applications
Rich Internet Applications
Benefits of RIA s
- RIAs Offer users a Richer, more engaging experience. All processing activities are done at client side and not need to be sent back to the server.
- The interface behaviors of RIAs are usually much more responsive in the comparison of interface behaviors of a standard Web browser while it can also generate other performance benefits when it uses a client engines. These are:
- Load balancing – It enables a better balance between Client and Server and frees server resources by allowing the same server hardware to handle more client sessions concurrently.
- Asynchronous communication and Prefetching - Without waiting for the user to perform an interface action like clicking on a button or link it is capable of maintaing asynchronous call backs between client and the server. So the RIA designers feel free to move data between the client and the server without interrupting the user. Apart form this prefetching is a technique, in which an application requires a future need for certain data, and downloads it to the client before the user requests it, for high speed applications. Google Maps uses this technology with efficiently on massive scale to move adjacent map segments to the client before the user scrolls their view. But still this technique does downlaod some extra data that may irrelavant for many or all clients, by reversing the performance.
- Network efficiency – Application-specific client engine in a RIA is more intelligent than a standard Web browser when deciding what data needs to be exchanged with servers. This boosts the individual requests or responses due to less data transferring in each interaction.
- Increase customer loyalty and generate higher profits.
- Leverage existing personnel, processes, and infrastructure.
For more information refer: ADOBE articles - Benefits of Rich Internet Applications
Shortcomings and Restrictions of RIAs
As RIAs run within a sandbox, so the correct operation of sandbox is necessary to run RIA successfully. If assumptions about access to resources are incorrect, RIAs may fail to operate correctly that restricts access to system resources.
2- Disabled scripting
3- Client processing speed
Some Rich Internet Applications uses client-side scripts written in interpreted language that moderate the performance speed, while compiled client language in traditional application have no relation with speed.
4- Script download time
If user downloads any document, it has to be transferred at least once from the website to the systems’ cache memory. Though the downloaded document does not need to be installed on the system, yet it sometimes takes unexpected long time. RIA developers can reduce the delay time by compressing the scripts, and by staging their delivery over multiple pages of an application.
5- Loss of visibility to search engines
Search engines may not be able to index the text content of the application.
6- Dependence on an Internet connection
Like traditional Web Application, RIA also needs internet connectivity; the speed of RIA operation also depends upon the network connection. An ideal network connection is usually suitable for running RIA smoothly, otherwise it may cause of headache.
7- Management complications
Traditional Web applications are simpler because of having only standard HTML built-in format while the initiation of RIA technologies had make it more complex and difficult to handle. The additional complexity of RIA makes them harder to design, test, measure, and support. These complications elongate the software development process, despite of the particular methodology or process being employed. Due to its sluggish processing, it becomes difficult to test the applications and incomplete testing lowers the application?s quality and its reliability while using.