The term Rich Internet Application (RIA) is not clearly defined or standardized, but arises from the evolution of the Internet and is used more and more often in the course of the development of this medium. Typically, this term refers to Internet applications that offer a rich (diverse) range of ways to interact with their user interface. In particular, RIAs that run in web browsers are more like dynamic desktop applications than classic (static) web pages. For example, an RIA allows visitors to a website to drag and drop, 3D effects, animations, and support for various video formats and other media.
However, Rich Internet Applications do not necessarily have to run in the browser, but can also be used as a desktop application, since the environment in which RIAs run is irrelevant to their designation. Rather, the requirements of richness as well as connection to the Internet must be met. RIAs can be recognized by the fact that:
- they offer user interfaces that are rich in interaction possibilities,
- they either communicate via the Internet (e.g. with servers) or are at least delivered via it.
Examples of rich interaction options include drag-and-drop capability or keyboard shortcuts. Rich Internet applications usually contain more application logic than static web pages based on pure HTML, for example. This can lead to an increased loading time on the first call. However, by using techniques such as Ajax, performance and user-friendliness can be noticeably improved compared to classic web applications.
---
RIAs also include applications that require third-party technologies (such as the Flash Player or the Java Virtual Machine). These are installed on the local computer. Others are based solely on web technologies (such as HTML, CSS, JavaScript, Ajax) that are supported by most popular browsers without additional plugins. Thus, the term Rich Internet Application refers only to a concept and not to a specific technology. Theoretically, it would also be possible to create RIAs with technologies such as C/C++, which are not explicitly designed to create RIAs, as long as the requirements “richness of the user interface” and “connection to the Internet” are met. Nevertheless, the use of special platforms, such as Adobe’s AIR or Microsoft Silverlight (now retired), makes sense, as these frameworks already have numerous UI components. Pure animations do not represent RIAs, as classic prerequisites such as interactions with the user are missing.

Pros and Cons of Rich Internet Application
Pros
- Often more user-friendly than classic web applications due to the use of modern interaction techniques (e.g. drag and drop).
- Respond faster to user input with local, client-side processing.
- No “cross-browser issues” (through the use of special RIA frameworks).
- Reduced server and network load due to local calculations.
- Access to local file system and peripherals, if applicable.
- Often simple GUI development through rich UI components included in RIA frameworks (“A lot of WOW! effect without much effort”).
- With plug-in-based systems, more performance is possible compared to pure DHTML variants. No dependency on the browser’s JavaScript engine.
Cons
- Possibly long download and loading times.
- Higher resource load on the client computer is possible.
- Sometimes installation of a plug-in is necessary.
- Possible security vulnerabilities due to installed plug-ins.