Enterprise Rich Internet Application:Ajax, Java, Flash,.NET and Market Landscape (2)

April 28, 2006 – 8:33 pm by coachwei | Category WebDev |

This is the second post of Enterprise Rich Internet Application Series.

Approaches to RIA Development

Though it is still evolving rapidly, today’s RIA marketplace is already rich in choice, and IT is challenged to match technology options with business goals. But while there are a variety of approaches and products available for building and deploying RIAs, they nearly all fall into one of only two basic categories:

· Object-oriented programming (OOP) based approaches, such as Java and .NET

· Scripting based approaches, including AJAX and Flash.

The comparative strengths and weaknesses of the different RIA approaches center largely on the programming model and application execution environment they employ. The programming model impacts development and maintenance effort, availability and cost of developer skills, availability of industry and development community support, and such. The execution environment significantly impacts not only application performance, functionality, and reliability; but also the deployment model.

Comparing RIA Approaches

In general, OOP approaches confer the advantages of strongly-typed object-oriented programming, such as improved code maintainability and reuse, and are better suited for enterprise-class applications. Scripting-based approaches offer the advantages of scripting, and are best suited for getting simple tasks done quickly.

Among OOP-based approaches:
Java-based RIAs generally leverage a client-side Java engine. Client-side application logic (if any) is written in Java, while the UI is defined using XML. The client-side components execute inside a Java Virtual Machine (JVM), which is typically embedded in a browser.
.NET-based RIAs rely on a .NET virtual machine. The UI can be programmed using .NET controls or Microsoft’s XAML. Client-side logic is generally programmed in C# or a similar language.

Among scripting-based approaches:
AJAX-based RIAs typically employs a relatively simple, browser-based JavaScript library to provide greater interactivity. The UI is most often defined using DHTML/JavaScript; client-side logic is also written in JavaScript. The client-side execution environment is the browser itself.
Flash-based RIAs run within the Flash animation engine. The UI is defined using SWF (a proprietary, binary format for defining Flash-based movies) or with XML markup that is compiled into SWF. Client-side logic is programmed in ActionScript, a scripting language developed by Macromedia (now Adobe).


Table 1 summarizes the advantages and disadvantages of these four approaches.

Table 1: Strengths and weaknesses of RIA approaches.

Strengths

Weaknesses

Java

· Broad industry support

· Large developer community

· Widely adopted in the enterprise

· Robust performance, scalability and reliability

· Robust OOP model

· Designed for team development

· Maintainable and manageable code

· Requires a higher programming skill set than scripting

· Requires a Java Virtual Machine to run the application

.NET

· Supported by Microsoft

· Robust performance, scalability and reliability

· Robust OOP model

· Designed for team development

· Maintainable and manageable code

· Supported by Microsoft only

· Requires a .NET virtual machine in order to run applications

· Requires a higher programming skill set than scripting

AJAX

· Highly compatible with existing HTML infrastructure and content

· Built-in support in most browsers—
therefore easy to try without the need for additional software

· DHTML/JavaScript code is difficult to develop and maintain

· Not designed for team development

· Performance and functionality limitations

Flash

· Supports rich UI features like animation and video

· Flash engine is small and widely available

· Large Flash designer community

· ActionScript code is difficult to maintain

· Not designed for team development

· Performance and functionality limitations

· Flash designers are not developers (lack of mindshare among enterprise developers)

  1. One Response to “Enterprise Rich Internet Application:Ajax, Java, Flash,.NET and Market Landscape (2)”

  2. Mainsoft developed Cross Platform Development solution.

    By Mainsoft on Sep 23, 2007

Post a Comment