Home > Article > Backend Development > Introduction to Several RIA Technologies
Rich Internet Application (RIA for short), a new Web application architecture, which combines the good user experience of desktop software with the advantages of easy deployment of web applications , quickly gained the favor of enterprises. In recent years, major development platform suppliers have successively launched new technologies to support RIA development, from Ajax to SilverLight, from Apollo and AIR to Flex and Flash, from JavaFX to Laszlo, various technologies have appeared on the stage, hoping to attract everyone's attention Focus.
However, as application system development vendors, development teams and developers, in the RIA trend, what kind of technology should we choose to better build RIA systems has become a question that we need to consider carefully.
AJAX
Ajax actually uses new techniques to combine some ancient technologies to make the WebApplication user interface more interactive greatly improved.
In Ajax, XMLHttpRequest is the core and the source of the powerful functions of Ajax. This is the difference between Ajax and traditional Web interface technology. Through XMLHttpRequest, the HTML (DHTML) in the browser and the server-side data are separated. Use JavaScript to manipulate the client to access the server to obtain data, and modify the HTML structure to display the data. Classic examples of using Ajax are Gmail and Google Maps.
Flash/Flex/Laszlo
Flex is an application framework launched to meet enterprise-level applications. Flex provides standards-based, declarative programming methods and processes for developing and deploying the presentation layer of rich client applications. Flex developers use intuitive, XML-based MXML to define rich user interfaces and ActionScript (an object-oriented scripting language) to write program logic.
The language is translated by the Flex server into a client application in SWF format and runs in FlashPlayer. Currently Flex has released Flex 3.0 beta.
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 J2EE application server will compile it into a swf format file and transmit it to the client for display. In future plans, Laszlo can also compile LZX into Java or .NET native code, thereby greatly improving operating efficiency. In the latest release of Laszlo 4.0, developers can choose whether Laszlo is ultimately displayed as Flash or DHTML.
Flex and Laszlo are both server-side technologies from the perspective of their running locations, and are similar to the running mechanisms of ASP, ASP.NET, JSP and PHP that everyone is familiar with. It's just that dynamic web page technologies such as ASP parse interface elements into HTML and send them to the client's browser for display; while Flex and Laszlo parse interface elements into binary swf files and run them into the FlashPlayer plug-in in the browser.
AIR
AIR was formerly known as Apollo. Adobe’s official explanation is: it is a cross-operating operating environment that allows developers to use Use previous web development skills to create a Rich Internet Application and deploy it to the desktop to run. Generally speaking, AIR is Adobe integrating existing technologies, such as Flash, PDF, JavaScript, XML and ActionScript, and providing a client runtime environment that allows developers to develop desktop programs that can access Internet resources. Essentially, AIR is a desktop application running environment that allows Flash (or Ajax) to run independently of the browser.
To develop AIR applications, it is also very simple. There are two technologies to choose from: one, using HTML+JS technology; two, using Flex+Flash. The development tools that can be used are tools for developing the above technologies, such as: flexbuilder, flash IDE, eclipse, notepad, etc.
The advantages and disadvantages of using AIR to develop RIA are similar to those of Flex. The biggest advantage is that it can run independently of the browser as an independent desktop program and is not subject to browser security restrictions. It can have more Permission to access local resources.
Currently, AIR is still in the testing stage, and many functions are not yet complete. I believe that after the official version is released, there will be more features worth looking forward to.
WPF
Historically, the user interface of an application can be developed using different technologies, from MFC to VB, from Windows Forms to HTML+JS. For developers, this requires using different interface development technologies for different application types. With the emergence of multimedia 2D or 3D interfaces such as Flash, there are more and more choices. If you want to use one technology to develop interfaces for various applications, this will be a huge challenge.
Windows Presentation Foundation (WPF), originally code-named "Avalon" and currently released as a component of .NET 3.0, is designed to solve this problem.
WPF provides a common foundation for desktop clients and browser clients, greatly simplifying application development for both. WPF takes a more modern approach and supports video, animation, 2D or 3D graphics, and various types of documents, allowing users to process information in completely new ways. In addition, WPF provides a common foundation for desktop clients and browser clients, greatly simplifying application development for both.
As Microsoft's next-generation interface technology, the biggest feature of WPF is the separation of interface layout description and interface logic code. WPF separates the work of professional interface designers from the work of professional application developers and makes it easier for them through XAML (Extensible Application Markup Language, an XML-based language that allows user interfaces to be specified declaratively rather than in code) Collaborate to develop applications with stunning interfaces and powerful functions.
At the same time, Microsoft provides different tools for different tasks. For interface designers, it launches Expression Studio; for program developers, it launches Visual Studio 2008 (RTM is expected to be released at the end of this year).
By providing more powerful graphics support, WPF enables a range of data visualizations that were not possible with Windows Forms or other earlier technologies. WPF also provides the basis for the XML Paper Specification (XPS), which defines a standard format for viewing, distributing, and printing fixed-format documents.
Silverlight
Silverlight was originally codenamed "WPF/E", which means WPF run onEverywhere, and it is a subset of WPF. Silverlight is known by the community as the Flash Killer produced by Microsoft.
The official definition is: "Silverlight is a cross-browser, cross-platform plug-in that brings the next generation of .NET-based media experience and rich interactive applications to the Internet." Silverlight provides a flexible programming model, supports AJAX, VB, C#, Python, Ruby and other languages, and is integrated into the existing WebApplication to access the DOM information. With built-in multimedia technology support, media files can be played at a very low cost.
Currently, Silverlight has released two versions, 1.0 beta and 1.1alpha. Can run on Windows and Mac platforms. At the same time, the Mono project is also 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 forms applications that can run not only on the Mozilla browser, but also on other rendering engines, such as Zulu (a FlashMX component) and Thinleys (a Java implementation). XUL description engines are very small (less than 100K), and they can use XML data or generate XML data. A major drawback of XUL is that it currently does not have the support of a major commercial entity. XUL's greatest strengths are its integration with the Gecko engine (opening the door to a host of Web standards) and the fact that it is a very expressive and concise language compared to most other XML user interface description languages.
Currently, XUL can be embedded in the Mozilla (or FireFox) browser and run independently of the browser through a XULRunner operating environment.
JavaFX
"JavaFX is a complete runtime environment built on Java technology that can be delivered to desktops, mobile devices, Rich Internet Applications (RIA) for environments such as handheld devices and televisions," SUN defines JavaFX. JavaFX is SUN's development technology that enters the field of RIA. It includes two parts, JavaFXScript and JavaFX Mobile. It uses a new scripting language, relies on Java SE/ME runtime, and uses Java2D and SwingAPI to run RIA on desktop or mobile devices. application.
Comparison of three types of RIA technologies
Through the introduction of various RIA development technologies above, we can see that their respective concepts are different. The operating environments are also different. Generally speaking, RIA development technology is divided into three categories:
1. Browser category, the entire RIA runs in the browser, relying on traditional HTML+CSS+JavaScript technology to achieve interface performance and control.
2. Browser plug-in class, RIA runs in the browser through plug-ins. The running program has a manufacturer-specific running format and requires a specific running environment.
3. Desktop class, RIA runs directly on the desktop without the browser. It is very similar to common desktop programs, but can access Internet resources, and has the characteristics of easy deployment and simple updates.
Among the three categories of technologies, browser technology is the most direct technology for developing RIA. This type of technology is suitable for software developers who have been doing Web applications.
The new desktop technology is completely new, making full use of the technology, skills and concepts of desktop development, and combining the advantages of WebApplication's easy deployment and instant installation. This type of technology is suitable for developers of Windows applications.
The browser plug-in makes a compromise between browser technology and new desktops. It not only uses new technologies to achieve rich interfaces, but also partially integrates with existing Web technologies.
Which RIA technology is suitable for you
RIA is an important direction for future application system development. Many software development companies, development teams and developers Everyone hopes to find a technology that suits them in the future, so that they can get twice the result with half the effort. While improving development efficiency and reducing development costs, they can also deliver software systems with rich experience and complete functions to customers.
Although we have introduced various technologies and their advantages and disadvantages above, and classified them, to answer the question "Which one should we choose?", we also need to consider the following situations?
First of all, our own situation:
◆ At present, your technical capabilities are mainly in Web development or Windows development?
◆ Is the function type of the application you are currently developing mainly focused on content presentation or transaction processing?
◆ Which manufacturer or organization’s technology are you currently mainly using? .NET or JAVA or other web technologies?
◆ Are you currently developing RIA or similar RIA?
◆ What kind of RIA development technology are you currently using?
The second is to consider the selection criteria of technology:
◆Learning cost, development efficiency
◆Suitability for application type
◆Operation environment deployment Cost
◆ Operation efficiency
◆ Complete functional features
◆ Technical licensing cost and server deployment cost, open source, free or paid
◆ Official and Technical support from the community
◆ Complete development tools
◆ Complete UI components
◆ Cross-platform features
Finally, we base our efforts on our specific circumstances and criteria for selecting technologies, which can provide a positioning and ranking of these technologies.
Comparison based on technical operating environment deployment costs (from low to high):
Ajax > Flex/Laszlo> Silverlight > XUL >WPF > AIR > JavaFX
In terms of technology licensing costs:
Open source ones include: Ajax, Laszlo, XUL, JavaFX
Free ones include: Silverlight, WPF, AIR
Paid ones There are: Flex
From the perspective of technical support: There is no doubt that Silverlight and WPF will get the best official support. Flex's official technology is also improving, and other technologies mainly rely on community support.
As far as development tools are concerned: Silverlight and WPF can be used as the most powerful tools, Flex, AIR and Laszlo also have excellent IDEs available. The development tools of JavaFX are not yet clear, and Ajax depends on the specific implementation. However, development tools for XUL have been slow to progress.
Looking at the situation where UI components can be used: WPF and Silverlight need to be extended by themselves or use third-party ones; Flex, AIR and Laszlo all provide a rich set of UI components, and XUL itself has a set of basically sufficient UI Components, JavaFX relies on the UI toolbox that comes with JRE.
For cross-platform features and compatibility we can also get a ranking:
Flex/Laszlo > Ajax> XUL > JavaFX > AIR> Silverlight > WPF
In short, to choose an RIA development technology that suits you, you need to weigh all aspects. Not only do you need to be clear about your situation and consider your future needs, but you also need to be familiar with the differences, pros and cons of each technology so you can find the right one.
The above is the detailed content of Introduction to Several RIA Technologies. For more information, please follow other related articles on the PHP Chinese website!