Introduction to several RIA Technologies

Source: Internet
Author: User
Tags silverlight java se

Rich Internet application, or RIA, a new Web application architecture that combines the advantages of a good user experience with desktop software and the ease of deployment of Web applications, quickly gaining the favor of the enterprise. In recent years, the major development platform vendors have introduced new technologies to support RIA development, from Ajax to Silverlight, from Apollo and air to flex and Flash, from JavaFX to Laszlo, various technology powder, in order to become the focus of attention.

However, as an application developer, development team and developer, in the RIA tide, choose what kind of technology, so that they can better build ria system, become a problem we need to carefully consider.

Ajax

Ajax is actually using new techniques to combine some ancient techniques to make the interactivity of the WebApplication user interface vastly improved.

In Ajax, XMLHttpRequest is the core, the source of Ajax's power, and the difference between Ajax and traditional Web interface technology. With XMLHttpRequest, the HTML (DHTML) in the browser is separated from the server-side data. Use JavaScript to manipulate the client Access server to get the data and modify the HTML structure to display the data. The classic example of using Ajax is Gmail and GoogleMaps.

Flash/flex/laszlo

Flex is an application framework that is rolled out to meet enterprise-class applications. Flex provides standards-based, declarative programming methods and processes for developing and deploying a rich client application presentation layer. Flex developers use an intuitive, XML-based mxml to define a rich user interface that uses ActionScript, an object-oriented scripting language, to write program logic.

The language is translated by the flex server into SWF-formatted client applications and runs in Flashplayer. Flex 3.0 Beta has been released at the moment.

Laszlo is an open source RIA development environment. When using the Laszlo platform, developers only need to write a description language called LZX (which integrates XML and JavaScript), and the Laszlo platform running on the Java EE Application Server compiles it into a SWF-formatted file and transmits it to the client. In future plans, Laszlo can also compile lzx into Java or. NET native code, which greatly improves operational efficiency. In the newly released Laszlo4.0, developers can choose whether Laszlo will eventually appear as Flash or DHTML.

Flex and Laszlo from the run location, they all belong to the server-side technology, and familiar with the asp,asp.net,jsp and PHP operating mechanism similar. Just ASP and other dynamic Web technology, is to parse the interface elements into the HTML sent to the client browser to show, and Flex and Laszlo is to parse the interface elements into a binary SWF file, run into the browser in the Flashplayer plugin.

AIR

Air, formerly known as Apollo,adobe, is a cross-operating environment that allows developers to use the skills of previous web development to create richinternet application and deploy to the desktop. In general, Air is Adobe's integration of existing technologies, such as Flash, PDF, JavaScript, XML, and ActionScript, and provides a client runtime environment that enables developers to develop desktop programs that can access Internet resources. In essence, air is a desktop application operating environment that lets Flash (or Ajax) run away from the browser.

To develop an air application, it is also simple, there are two techniques to choose from: One, the use of HTML+JS technology, and two, the use of Flex+flash. The tools you can use to develop these technologies are: Flexbuilder, Flash IDE, Eclipse, Notepad, and more.

The pros and cons of using air to develop RIA, like Flex, have the greatest benefit of being able to run from a browser as a standalone desktop program and not subject to browser security restrictions, and have more access to local resources.

At present, air is still in the testing phase, many features are not perfect, I believe that after the release of the official version, there will be more features worthy of our expectations.

Wpf

All along, the user interface of the application can be developed with different technologies, from MFC to VB, from WindowsForms to Html+js. For developers, this requires different interface development techniques for different application types. With the advent of multimedia 2D or 3D interfaces such as Flash, more and more choices are available. If you want to use a technology to develop the interface of various applications, this will be a huge challenge.

Windows Presentation Foundation (WPF), originally codenamed "Avalon", is currently being published as a component of. NET 3.0, designed to address this challenge.

WPF provides a common foundation for desktop clients and browser clients, greatly simplifying the application development effort for both. WPF employs a more modern approach that supports video, animation, 2D or 3D graphics, and various types of documents, allowing users to process information in new ways. In addition, WPF provides a common foundation for desktop clients and browser clients, greatly simplifying the application development effort for both.

As Microsoft's next-generation interface technology, WPF's greatest feature is the separation of the interface's layout description from the interface logic code. WPF uses XAML (extended Application Markup Language, an XML-based language that allows declaratively specifying a user interface, rather than code) to separate the work of a professional interface designer from the work of a professional program developer, making it easier for them to collaborate to develop an interface-rich, powerful application.

At the same time, Microsoft has provided different tools for different jobs, launched expression Studio for interface designers, and launched VisualStudio 2008 for program developers, which is expected to release RTM by the end of this year.

By providing more powerful graphics support capabilities, WPF makes it possible to visualize a range of data, which is not possible with Windows Forms or other early-stage technologies. WPF also provides the basis for XML Paper specification (XPS), which defines the standard format for viewing, distributing, and printing fixed-format documents.

Silverlight

Silverlight's initial code name is "wpf/e", meaning WPF run Oneverywhere, which is a subset of WPF. Silverlight is known by the community as a Microsoft-produced Flash Killer.

The official definition is: "Silverlight is a cross-browser, cross-platform plug-in that brings the next generation based on the network. NET media experience and rich interactive applications. " Silverlight provides a flexible programming model that supports AJAX,VB, C #, Python, Ruby and other languages, and integrates into existing webapplication to access the DOM information in it. Built-in multimedia technology supports the ability to play media files at very low cost.

Currently, Silverlight has released two versions, 1.0 beta and 1.1alpha. Can run under Windows and Mac platforms. At the same time, the Mono project is actively developing moonlight, a Silverlight implementation under Linux.

Xul

XUL is an XML-based user interface language that comes from Mozilla's Open source project. It can be used to build form applications that run on Mozilla browsers and can also run on other description engines, such as Zulu (a flashmx component) and Thinleys (a Java implementation). The XUL description engine is very small (100K or less), and it can use XML data to generate XML data as well. One of the main drawbacks of XUL is that it has not yet been supported by a major business entity. The biggest advantage of XUL is its integration with the Gecko engine, which opens the door to a large number of web standards, and is a very expressive and concise language compared to most other XML user interface description languages.

Currently XUL can be embedded in Mozilla (or Firefox) browser, or can be run out of the browser through a XULRunner running environment.

Javafx

"JavaFX is a complete operating environment built on Java technology that can be used to deliver rich Internet applications (RIA) to desktops, mobile devices, handheld devices, and TVs. "Sun defines JavaFX as such. JavaFX is a development technology for Sun's access to Ria, which contains two parts of Javafxscript and JavaFX Mobile, using a new scripting language that relies on the Java se/me Runtime Use java2d and Swingapi to run RIA applications on desktop or mobile devices.

Comparison of three types of RIA Technologies

Through the various RIA development techniques described above, we can see that their respective concepts are different and the operating environment is different. Overall, RIA development techniques fall into three categories:

1. Browser class, the entire RIA is run in the browser, relying on the traditional Html+css+javascript technology to achieve interface performance and control.

2. Browser plugin class, RIA runs in the browser via plugins. A running program is a vendor-specific run format that requires a specific operating environment.

3. Desktop class, RIA runs directly above the desktop from the browser. Similar to common desktop programs, but with access to Internet resources and features that are easy to deploy and easy to update.

In three categories of technologies, browser technology is the most direct technology for developing RIA, which is suitable for software developers who have been doing web applications.

The new desktop technology is completely reinvent the table, fully using the technology, skills and concepts of desktop development, combined with WebApplication deployment convenience, instant installation advantages. This type of technology is suitable for developers of Windows applications.

The browser plug-in is a tradeoff between browser technology and the new desktop, using new technologies for a rich interface and partial integration with existing Web technologies.

What RIA technology is right for you

Ria is an important direction in the development of future application systems, and many software development companies, development teams and developers all want to find a suitable technology in the future, so that they can do more with less, improve development efficiency, reduce development costs, but also deliver to the customer experience rich, fully functional software system.

While we've covered a variety of technologies and their pros and cons, and we've categorized them, we need to consider the following to answer the question "We should choose that".

The first is our own situation:

Is your technical capability currently primarily in web development or Windows development?

Do you currently develop the type of application functionality that is primarily focused on content presentation or transactional processing?

Are you currently using the technology of that manufacturer or organization?. NET or Java or other Web technologies?

Are you currently developing RIA or similar RIA?

What kind of RIA development technology is currently being used?

The second is to consider the choice of technology criteria:

Learning cost, development efficiency

Suitability for the application type

Operating Environment deployment costs

Operational efficiency

Perfect function characteristics

Technology licensing costs and server deployment costs, open source, free or charged

Official and Community technical support

A complete development tool

A complete UI component

Cross-platform features

Finally, we can position and sort these technologies according to our own specific circumstances and the criteria for selecting technologies.

Compare (from low to high) the deployment cost of the technical operating environment:

Ajax > Flex/laszlo> Silverlight > XUL >wpf > AIR > JavaFX

In terms of technical licensing costs:

Open source is: Ajax,laszlo,xul,javafx

Free to have: Silverlight,wpf,air

The charges are: Flex

From technical support: There is no doubt that Silverlight and WPF will get the best official support, the official technology of Flex is improving, and other technologies rely heavily on community support.

In terms of development tools: Silverlight and WPF can have the most powerful tools available, Flex, air, and Laszlo also have excellent Ides to use, and JavaFX's development tools are not yet clear, and the development tools of XUL are slow to see the specifics of the implementation.

In the case of UI components, WPF and Silverlight need to extend themselves or use third parties, and Flex, air, and Laszlo all provide a rich set of UI components that XUL relies on with the JRE's own UI toolkit.

For cross-platform features and compatibility we can also get a sort:

Flex/laszlo > Ajax> XUL > JavaFX > Air> Silverlight > WPF

All in all, choosing an RIA development technology that suits you needs to be weighed in every way. Not only to identify their own situation, consider the future needs, but also familiar with each technology differences and advantages and disadvantages, so as to find a correct technology.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.