search
HomeBackend DevelopmentC#.Net TutorialIntroduction to Several RIA Technologies

Introduction to Several RIA Technologies

Aug 03, 2017 pm 01:19 PM
introduceseveral kindstechnology



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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
C# .NET in the Modern World: Applications and IndustriesC# .NET in the Modern World: Applications and IndustriesMay 08, 2025 am 12:08 AM

C#.NET is widely used in the modern world in the fields of game development, financial services, the Internet of Things and cloud computing. 1) In game development, use C# to program through the Unity engine. 2) In the field of financial services, C#.NET is used to develop high-performance trading systems and data analysis tools. 3) In terms of IoT and cloud computing, C#.NET provides support through Azure services to develop device control logic and data processing.

C# .NET Framework vs. .NET Core/5/6: What's the Difference?C# .NET Framework vs. .NET Core/5/6: What's the Difference?May 07, 2025 am 12:06 AM

.NETFrameworkisWindows-centric,while.NETCore/5/6supportscross-platformdevelopment.1).NETFramework,since2002,isidealforWindowsapplicationsbutlimitedincross-platformcapabilities.2).NETCore,from2016,anditsevolutions(.NET5/6)offerbetterperformance,cross-

The Community of C# .NET Developers: Resources and SupportThe Community of C# .NET Developers: Resources and SupportMay 06, 2025 am 12:11 AM

The C#.NET developer community provides rich resources and support, including: 1. Microsoft's official documents, 2. Community forums such as StackOverflow and Reddit, and 3. Open source projects on GitHub. These resources help developers improve their programming skills from basic learning to advanced applications.

The C# .NET Advantage: Features, Benefits, and Use CasesThe C# .NET Advantage: Features, Benefits, and Use CasesMay 05, 2025 am 12:01 AM

The advantages of C#.NET include: 1) Language features, such as asynchronous programming simplifies development; 2) Performance and reliability, improving efficiency through JIT compilation and garbage collection mechanisms; 3) Cross-platform support, .NETCore expands application scenarios; 4) A wide range of practical applications, with outstanding performance from the Web to desktop and game development.

Is C# Always Associated with .NET? Exploring AlternativesIs C# Always Associated with .NET? Exploring AlternativesMay 04, 2025 am 12:06 AM

C# is not always tied to .NET. 1) C# can run in the Mono runtime environment and is suitable for Linux and macOS. 2) In the Unity game engine, C# is used for scripting and does not rely on the .NET framework. 3) C# can also be used for embedded system development, such as .NETMicroFramework.

The .NET Ecosystem: C#'s Role and BeyondThe .NET Ecosystem: C#'s Role and BeyondMay 03, 2025 am 12:04 AM

C# plays a core role in the .NET ecosystem and is the preferred language for developers. 1) C# provides efficient and easy-to-use programming methods, combining the advantages of C, C and Java. 2) Execute through .NET runtime (CLR) to ensure efficient cross-platform operation. 3) C# supports basic to advanced usage, such as LINQ and asynchronous programming. 4) Optimization and best practices include using StringBuilder and asynchronous programming to improve performance and maintainability.

C# as a .NET Language: The Foundation of the EcosystemC# as a .NET Language: The Foundation of the EcosystemMay 02, 2025 am 12:01 AM

C# is a programming language released by Microsoft in 2000, aiming to combine the power of C and the simplicity of Java. 1.C# is a type-safe, object-oriented programming language that supports encapsulation, inheritance and polymorphism. 2. The compilation process of C# converts the code into an intermediate language (IL), and then compiles it into machine code execution in the .NET runtime environment (CLR). 3. The basic usage of C# includes variable declarations, control flows and function definitions, while advanced usages cover asynchronous programming, LINQ and delegates, etc. 4. Common errors include type mismatch and null reference exceptions, which can be debugged through debugger, exception handling and logging. 5. Performance optimization suggestions include the use of LINQ, asynchronous programming, and improving code readability.

C# vs. .NET: Clarifying the Key Differences and SimilaritiesC# vs. .NET: Clarifying the Key Differences and SimilaritiesMay 01, 2025 am 12:12 AM

C# is a programming language, while .NET is a software framework. 1.C# is developed by Microsoft and is suitable for multi-platform development. 2..NET provides class libraries and runtime environments, and supports multilingual. The two work together to build modern applications.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.