Rich Internet Applications
Rich Internet applications (RIAs) support rich graphics, search engine marketing, streaming media scenarios and have most of the characteristics of desktop applications. RIAs run in an electronics browser plug-in, such as Microsoft® Silverlight® and Adobe Flash etc.
A typical RIA development contains a Web infrastructure combined with a client-side application that handles the presentation. RIAs, based development providing the opportunity to reduce load on the Web server.
The following design guidelines provide information about different aspects we should consider when designing and development an RIA:
- Consider designing an RIA when our vital audience is using a browser and operating system that supports RIAs.
- With an RIA, the ease of deployment and maintenance is similar to that of Web applications, assuming that your clients have a reliable network connection.
- RIA implementations are well suited to Web-based scenarios where you need visualization beyond that provided by basic HTML.
- RIA development requires an infrastructure similar to Web applications. Communication to the business layer of your application is usually through services, which allows reuse of existing Web application infrastructure.
- RIA development has higher security by default and therefore may not have access to all devices on a machine, such as cameras and hardware video acceleration. Access to the local file system is limited. Local storage is available, but there is a maximum limit.
- Consider the complexity of your UI. RIA development work best when using a single screen for all operations. They can be extended to multiple screens.
- Users should be able to easily navigate or pause, and return to the appropriate point in a workflow, without restarting the whole process.
- List and examine the common application scenarios to decide how to intelligently divide and load modules, as well as how to cache or move business logic to the client.
- To reduce the download and start-up time for the application, intelligently segregate functionality into separate downloadable modules.
- Because RIA development requires a browser plug-in, we should design for non-interruptive plug-in installation. Consider whether your clients have access to, have permission to, and will want to install the plug-in. Consider what control you have over the installation process. Plan for the scenario where users cannot install the plug-in, by displaying an informative error message, or by providing an alternative Web UI.