ARich Internet Application(RIA) is aWeb applicationthat has many of the characteristics ofdesktop applications, typically delivered either by way of asite-specific browser, via a browserplug-in, independentsandboxes, orvirtual machines.Adobe Flash,Java, andMicrosoft Silver lightare currently the three most common platforms, withpenetration ratesaround99%, 80%, and 54% respectively (as of July 2010).Although new Web standards have emerged, they still use the principles behind IRAs. Users generally need to install asoftware frameworkusing the computer'soperating systembefore launching the application, which typically downloads updates, verifies and executes the Rich Internet Application.This is the main differentiator fromJava Script-based alternatives likeAjaxthat use built-in browser functionality to implement comparable interfaces. While some consider such interfaces to be IRAs, some consider them competitors to IRAs and others, includingGarner, treat them as similar but separate technologies.
Rich Internet Application dominates inon line gamingas well as applications that require access to video capture (with the notable exception ofMail, which uses its own task-specific browser plug-in). Web standardssuch asHTML5have developed and the compliance ofWeb browserswith those standards has somewhat improved. However, the need for plug-in based IRAs for accessing video capture and distribution has not diminished,even with the emergence of HTML5 and Java Script-based desktop-like widget setsthat provide alternative solutions for mobile Web browsing.
Rich Internet Application present indexing challenges tosearch engines, butAdobe Flashcontent is now at least partially index able. Security can improve over that ofapplication software(for example through use ofsandboxesand automatic updates), but the extensions themselves remain subject tovulnerabilitiesand access is often much greater than that of native
Web Development. For security purposes, most IRAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file-system and to the operating system on the client to the application server on the other side of the connection. This approach allows the client system to handle local activities, calculations, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially as compared to the client-server implementations built around so-called thin clients.