Benefits of RIAs
There are several benefits of RIAs over Traditional Web Application; these are:
- 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.
- 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:
- It is able to make better balance between Client and Server that frees server resources allowing the same server hardware to handle more client sessions concurrently.
- It is also be able to make asynchronous communication without waiting for the user to perform an interface action like clicking on a button or link. So the RIA designers feel free to move data between the client and the server without making the user wait. Besides this prefetching is the most common application, in which an application anticipate a future need for certain data, and downloads it to the client before the user requests it, because of running at high speed and getting up a consequent response. Google Maps uses this technology with efficiently and on the massive scale to move adjacent map segments to the client before the user scrolls their view
There is another benefit of RIA in terms of network efficiency as the huge traffic significantly reduces in Rich Internet Applications because an application-specific client engine 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. Thus the overall network load becomes reduced.
Meanwhile, use of asynchronous prefetching techniques can either neutralize or can reverse this potential benefit, as many times the code cannot anticipate exactly what every user will do next, it is common for such techniques to download extra data, not all of which is actually needed, to many or all clients.