All Topics  
Rich Internet application

 

   Email Print
   Bookmark   Link






 

Rich Internet application



 
 
Rich Internet applications (RIAs) are web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
s that have some of the characteristics of desktop applications
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
, typically delivered by way of an Ajax framework
Ajax framework

An Ajax framework is a Web application framework that helps to develop web applications that use Ajax , a collection of technologies used to build dynamic web pages on the client side....
, proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
 plug-ins, advanced javascript
JavaScript

JavaScript is a scripting language widely used for client-side web development. It was the originating Programming language dialect of the ECMAScript standard....
 compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 technology, or independently via sandbox
Sandbox (computer security)

In computer security, a sandbox is a security mechanism for safely running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users....
es or virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
s. Examples of RIA frameworks
Rich Internet application

Rich Internet applications are web applications that have some of the characteristics of Application software, typically delivered by way of an Ajax framework, Proprietary software web browser Plug-in s, advanced javascript compiler technology, or independently via Sandbox es or virtual machines....
 that require browser extensions include Adobe AIR
Adobe Integrated Runtime

Adobe AIR is a cross-platform runtime environment for building rich Internet applications using Adobe Flash, Adobe Flex, HTML, or Ajax , that can be deployed as a application software....
, Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
/JavaFX
JavaFX

JavaFX is a software platform for creating and delivering rich Internet applications that can run across wide variety of connected devices. The current release enables building applications for desktop, browser and mobile phones....
 and Microsoft Silverlight
Microsoft Silverlight

Microsoft Silverlight is a programmable web browser plugin that enables features such as animation, vector graphics and multimedia that characterizes rich Internet applications....
, whilst examples of RIA frameworks
Rich Internet application

Rich Internet applications are web applications that have some of the characteristics of Application software, typically delivered by way of an Ajax framework, Proprietary software web browser Plug-in s, advanced javascript compiler technology, or independently via Sandbox es or virtual machines....
 that make comprehensive use of JavaScript include GWT
Google Web Toolkit

Google Web Toolkit is an open source Java software framework that allows web developers to create and maintain complex JavaScript front-end applications in Java ....
 and Pyjamas
Pyjamas (software)

Pyjamas is a tool and framework for developing AJAX applications and Rich_Internet_Applications in python. It contains a stand-alone Python -to-Javascript compiler, an AJAX Application framework and Widget set, and through use of these components, developers can write comprehensive applications, to run in all major web browsers, without writi...
.

The term was introduced in the 1990s by vendors like Macromedia
Macromedia

Macromedia was a United States graphics and Web development software house headquartered in San Francisco, California producing such products as Adobe Flash....
 who were addressing limitations at the time in the "richness of the application interfaces, media and content, and the overall sophistication of the solutions" by introducing proprietary extensions.

As web standards
Web standards

Web standards is a general term for the formal Internet standards and other technical specifications that define and describe aspects of the World Wide Web....
 (such as Ajax
Ajax (programming)

Ajax, or AJAX , is a group of interrelated web development techniques used to create interactive web applications or rich Internet applications....
 and HTML 5
HTML 5

HTML 5 is the fifth major revision of the core language of the World Wide Web, HTML. HTML 5 specifies two variants of the same language, a "classic" HTML variant known as HTML 5 and an XHTML variant known as XHTML 5....
) have developed and web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
s' compliance has improved there is less need for such extensions, and Javascript compilers such as GWT
Google Web Toolkit

Google Web Toolkit is an open source Java software framework that allows web developers to create and maintain complex JavaScript front-end applications in Java ....
, Pyjamas
Pyjamas (software)

Pyjamas is a tool and framework for developing AJAX applications and Rich_Internet_Applications in python. It contains a stand-alone Python -to-Javascript compiler, an AJAX Application framework and Widget set, and through use of these components, developers can write comprehensive applications, to run in all major web browsers, without writi...
 and , with their associated desktop-like widget sets
Widget engine

In computer software, a widget engine is a software service available to users for running and displaying desktop widgets on the desktop metaphor....
 reduce the need for browser extensions even further.
very few exceptions (most notably YouTube
YouTube

YouTube is a Video hosting service website where users can upload, view and share video clips. Three former PayPal employees created YouTube in February 2005....
 which currently relies on Adobe Flash
Adobe Flash

Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
 for video playback) the vast majority of the most popular web sites are native web applications.






Discussion
Ask a question about 'Rich Internet application'
Start a new discussion about 'Rich Internet application'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Rich Internet applications (RIAs) are web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
s that have some of the characteristics of desktop applications
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
, typically delivered by way of an Ajax framework
Ajax framework

An Ajax framework is a Web application framework that helps to develop web applications that use Ajax , a collection of technologies used to build dynamic web pages on the client side....
, proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
 plug-ins, advanced javascript
JavaScript

JavaScript is a scripting language widely used for client-side web development. It was the originating Programming language dialect of the ECMAScript standard....
 compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 technology, or independently via sandbox
Sandbox (computer security)

In computer security, a sandbox is a security mechanism for safely running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users....
es or virtual machine
Virtual machine

In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
s. Examples of RIA frameworks
Rich Internet application

Rich Internet applications are web applications that have some of the characteristics of Application software, typically delivered by way of an Ajax framework, Proprietary software web browser Plug-in s, advanced javascript compiler technology, or independently via Sandbox es or virtual machines....
 that require browser extensions include Adobe AIR
Adobe Integrated Runtime

Adobe AIR is a cross-platform runtime environment for building rich Internet applications using Adobe Flash, Adobe Flex, HTML, or Ajax , that can be deployed as a application software....
, Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
/JavaFX
JavaFX

JavaFX is a software platform for creating and delivering rich Internet applications that can run across wide variety of connected devices. The current release enables building applications for desktop, browser and mobile phones....
 and Microsoft Silverlight
Microsoft Silverlight

Microsoft Silverlight is a programmable web browser plugin that enables features such as animation, vector graphics and multimedia that characterizes rich Internet applications....
, whilst examples of RIA frameworks
Rich Internet application

Rich Internet applications are web applications that have some of the characteristics of Application software, typically delivered by way of an Ajax framework, Proprietary software web browser Plug-in s, advanced javascript compiler technology, or independently via Sandbox es or virtual machines....
 that make comprehensive use of JavaScript include GWT
Google Web Toolkit

Google Web Toolkit is an open source Java software framework that allows web developers to create and maintain complex JavaScript front-end applications in Java ....
 and Pyjamas
Pyjamas (software)

Pyjamas is a tool and framework for developing AJAX applications and Rich_Internet_Applications in python. It contains a stand-alone Python -to-Javascript compiler, an AJAX Application framework and Widget set, and through use of these components, developers can write comprehensive applications, to run in all major web browsers, without writi...
.

The term was introduced in the 1990s by vendors like Macromedia
Macromedia

Macromedia was a United States graphics and Web development software house headquartered in San Francisco, California producing such products as Adobe Flash....
 who were addressing limitations at the time in the "richness of the application interfaces, media and content, and the overall sophistication of the solutions" by introducing proprietary extensions.

As web standards
Web standards

Web standards is a general term for the formal Internet standards and other technical specifications that define and describe aspects of the World Wide Web....
 (such as Ajax
Ajax (programming)

Ajax, or AJAX , is a group of interrelated web development techniques used to create interactive web applications or rich Internet applications....
 and HTML 5
HTML 5

HTML 5 is the fifth major revision of the core language of the World Wide Web, HTML. HTML 5 specifies two variants of the same language, a "classic" HTML variant known as HTML 5 and an XHTML variant known as XHTML 5....
) have developed and web browser
Web browser

A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
s' compliance has improved there is less need for such extensions, and Javascript compilers such as GWT
Google Web Toolkit

Google Web Toolkit is an open source Java software framework that allows web developers to create and maintain complex JavaScript front-end applications in Java ....
, Pyjamas
Pyjamas (software)

Pyjamas is a tool and framework for developing AJAX applications and Rich_Internet_Applications in python. It contains a stand-alone Python -to-Javascript compiler, an AJAX Application framework and Widget set, and through use of these components, developers can write comprehensive applications, to run in all major web browsers, without writi...
 and , with their associated desktop-like widget sets
Widget engine

In computer software, a widget engine is a software service available to users for running and displaying desktop widgets on the desktop metaphor....
 reduce the need for browser extensions even further.

Deployment

With very few exceptions (most notably YouTube
YouTube

YouTube is a Video hosting service website where users can upload, view and share video clips. Three former PayPal employees created YouTube in February 2005....
 which currently relies on Adobe Flash
Adobe Flash

Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
 for video playback) the vast majority of the most popular web sites are native web applications. Online gaming is one area where RIAs are prevalent and applications (such as Dimdim
Dimdim

Dimdim is a software company that provides a web-based platform for real-time, rich-media collaboration and meetings. It is perceived to be a free, open source "WebEx 2.0" web conferencing solution....
) which require access to video capture also tend to use RIAs (with the notable exception of Gmail
Gmail

Gmail is a free Post Office Protocol and Internet Message Access Protocol webmail service provided by Google. In the United Kingdom and Germany it is officially called Google Mail....
 which uses its own task-specific browser plug-in).

Key characteristics of RIA plugins and sandboxes

  • Accessibility of data to search engines and web accessibility
    Web accessibility

    Web accessibility refers to the practice of making websites usable by people of all abilities and disabilities. When sites are correctly designed, developed and edited, all users can have equal access to information and functionality....
     can be impaired. For example it took over a decade from release for Adobe Flash
    Adobe Flash

    Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
     to be universally searchable.
  • Advanced communications with supporting servers can improve the user experience, for example by using optimised network protocols, asynchronous I/O
    I/O

    I/O may refer to:* Input/output, a system of communication for information processing systems* The input-output model, an economic model of flow prediction between sectors...
     and pre-fetching data (eg Google Maps
    Google Maps

    Google Maps is a free web mapping service application and technology provided by Google that powers many map-based services including the Google Maps website, #Google Ride Finder, Google Transit and embedded maps on third-party websites via the Google Maps Application programming interface....
    ). Accordingly, reliable broadband
    Broadband

    The term broadband can have different meanings in different contexts. The term's meaning has undergone substantial shifts....
     connections are often required.
  • Complexity of advanced solutions can make them more difficult to design, develop, deploy and debug than traditional web applications (but typically less so than application software
    Application software

    Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
    ).
  • Consistency of user interface and experience can be controlled across operating system
    Operating system

    An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
    s. Performance monitoring and fault diagnosis can be particularly difficult.
  • Installation and Maintenance of plug-ins, sandbox
    Sandbox (computer security)

    In computer security, a sandbox is a security mechanism for safely running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users....
    es or virtual machine
    Virtual machine

    In computer science, a virtual machine is a software implementation of a machine that executes programs like a real machine.Definitions...
    s is required (but applications are smaller than their predecessors and updates are typically automated). Installation is typically faster than that of application software
    Application software

    Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
     but slower than that of native web applications and automation may not be possible.
  • Offline use may be supported by retaining state locally on the client machine, but developments in web standards
    Web standards

    Web standards is a general term for the formal Internet standards and other technical specifications that define and describe aspects of the World Wide Web....
     (prototyped in Google Gears) have also enabled this for native web applications.
  • Security can improve over that of application software
    Application software

    Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
     (for example through use of sandbox
    Sandbox (computer security)

    In computer security, a sandbox is a security mechanism for safely running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users....
    es and automatic updates) but the extensions themselves are subject to vulnerabilities
    Vulnerability (computing)

    In computer security, the term vulnerability is applied to a weakness in a system which allows an attacker to violate the integrity of that system....
     and access possible is often much greater than that of native web applications.
  • Performance can improve depending on the application and network characteristics. In particular, applications which can avoid the latency of round-trips to the server by processing locally on the client are often a lot faster. Offloading work to the clients can also improve server performance. Conversely the resource requirements can be prohibitive for small, embedded and mobile devices.
  • Richness by way of features not supported natively by the web browser
    Web browser

    A Web browser is a application software which enables a user to display and interact with text, images, videos, music, games and other information typically located on a Web page at a website on the World Wide Web or a local area network....
     such as video capture
    Video capture

    Video capture is the process of converting an analog video signal?such as that produced by a video camera or DVD player?to digital form. The resulting digital data are referred to as a digital video stream, or more often, simply video stream....
     (eg Adobe Flash
    Adobe Flash

    Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
    ).


Frameworks


An appropriate Rich Internet application framework is usually required to run an RIA, and needs to be installed using the computer's operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 before launching the application. The software framework
Software framework

A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality....
 is typically responsible for downloading, updating, verifying and executing the RIA.

External links