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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



StableDiffusion3’s paper is finally here! This model was released two weeks ago and uses the same DiT (DiffusionTransformer) architecture as Sora. It caused quite a stir once it was released. Compared with the previous version, the quality of the images generated by StableDiffusion3 has been significantly improved. It now supports multi-theme prompts, and the text writing effect has also been improved, and garbled characters no longer appear. StabilityAI pointed out that StableDiffusion3 is a series of models with parameter sizes ranging from 800M to 8B. This parameter range means that the model can be run directly on many portable devices, significantly reducing the use of AI

Trajectory prediction plays an important role in autonomous driving. Autonomous driving trajectory prediction refers to predicting the future driving trajectory of the vehicle by analyzing various data during the vehicle's driving process. As the core module of autonomous driving, the quality of trajectory prediction is crucial to downstream planning control. The trajectory prediction task has a rich technology stack and requires familiarity with autonomous driving dynamic/static perception, high-precision maps, lane lines, neural network architecture (CNN&GNN&Transformer) skills, etc. It is very difficult to get started! Many fans hope to get started with trajectory prediction as soon as possible and avoid pitfalls. Today I will take stock of some common problems and introductory learning methods for trajectory prediction! Introductory related knowledge 1. Are the preview papers in order? A: Look at the survey first, p

This paper explores the problem of accurately detecting objects from different viewing angles (such as perspective and bird's-eye view) in autonomous driving, especially how to effectively transform features from perspective (PV) to bird's-eye view (BEV) space. Transformation is implemented via the Visual Transformation (VT) module. Existing methods are broadly divided into two strategies: 2D to 3D and 3D to 2D conversion. 2D-to-3D methods improve dense 2D features by predicting depth probabilities, but the inherent uncertainty of depth predictions, especially in distant regions, may introduce inaccuracies. While 3D to 2D methods usually use 3D queries to sample 2D features and learn the attention weights of the correspondence between 3D and 2D features through a Transformer, which increases the computational and deployment time.

After updating to the latest win11, many users find that the sound of their system has changed slightly, but they don’t know how to adjust it. So today, this site brings you an introduction to the latest win11 sound adjustment method for your computer. It is not difficult to operate. And the choices are diverse, come and download and try them out. How to adjust the sound of the latest computer system Windows 11 1. First, right-click the sound icon in the lower right corner of the desktop and select "Playback Settings". 2. Then enter settings and click "Speaker" in the playback bar. 3. Then click "Properties" on the lower right. 4. Click the "Enhance" option bar in the properties. 5. At this time, if the √ in front of "Disable all sound effects" is checked, cancel it. 6. After that, you can select the sound effects below to set and click

PyCharm is a powerful Python integrated development environment with rich functions and tools that can greatly improve development efficiency. Among them, the replacement function is one of the functions frequently used in the development process, which can help developers quickly modify the code and improve the code quality. This article will introduce PyCharm's replacement function in detail, combined with specific code examples, to help novices better master and use this function. Introduction to the replacement function PyCharm's replacement function can help developers quickly replace specified text in the code

In September 23, the paper "DeepModelFusion:ASurvey" was published by the National University of Defense Technology, JD.com and Beijing Institute of Technology. Deep model fusion/merging is an emerging technology that combines the parameters or predictions of multiple deep learning models into a single model. It combines the capabilities of different models to compensate for the biases and errors of individual models for better performance. Deep model fusion on large-scale deep learning models (such as LLM and basic models) faces some challenges, including high computational cost, high-dimensional parameter space, interference between different heterogeneous models, etc. This article divides existing deep model fusion methods into four categories: (1) "Pattern connection", which connects solutions in the weight space through a loss-reducing path to obtain a better initial model fusion

Many users have printer drivers installed on their computers but don't know how to find them. Therefore, today I bring you a detailed introduction to the location of the printer driver in the computer. For those who don’t know yet, let’s take a look at where to find the printer driver. When rewriting content without changing the original meaning, you need to The language is rewritten to Chinese, and the original sentence does not need to appear. First, it is recommended to use third-party software to search. 2. Find "Toolbox" in the upper right corner. 3. Find and click "Device Manager" below. Rewritten sentence: 3. Find and click "Device Manager" at the bottom 4. Then open "Print Queue" and find your printer device. This time it is your printer name and model. 5. Right-click the printer device and you can update or uninstall it.

Dogecoin is a cryptocurrency created based on Internet memes, with no fixed supply cap, fast transaction times, low transaction fees, and a large meme community. Uses include small transactions, tips, and charitable donations. However, its unlimited supply, market volatility, and status as a joke coin also bring risks and concerns. What is Dogecoin? Dogecoin is a cryptocurrency created based on internet memes and jokes. Origin and History: Dogecoin was created in December 2013 by two software engineers, Billy Markus and Jackson Palmer. Inspired by the then-popular "Doge" meme, a comical photo featuring a Shiba Inu with broken English. Features and Benefits: Unlimited Supply: Unlike other cryptocurrencies such as Bitcoin
