Comparison between WPF, Silverlight, extjs, and jquery)

Source: Internet
Author: User

I. Concepts of WPF and Silverlight

 

    1. Origins of WPF and Silverlight

Compared with the winform of the previous generation, WPF has the advantage that it is easier to create beautiful applications.ProgramInterface, but not many changes in other aspects. Winform is based on the interface technology of GDI +. The UI is ultimately drawn by calling the GDI + function. Both forms custom controls use GDI +. While WPF no longer relies on GDI +, which is separated from GDI +. UI rendering is based on direct3d, and interface rendering is completed by d3d. Therefore, many direct3d operations are encapsulated in the WPF class library. By using these classes, you can easily draw a plane image and a 3D interface, it is also easy to create animation effects. The end user interface will be greatly improved or even changed.

As a lightweight version of WPF, Silverlight reduces many functions than WPF. For example, WPF supports directly binding triggers in XAML to trigger an animation, while Silverlight can only be hostedCodeOr JavaScript.
In addition, WPF directly supports 3D effects and 3D lens transformations, but Silverlight does not.

Silverlight, formerly known as WPF/E, is a subset of WPF everywhere. WPF has advantages that cannot be achieved by Silverlight in the multimedia programming field. WPF cannot read the Silverlight XAML file, but Silverlight can read the wpf xaml. It can be seen that the WPF and Silverlight XAML are not fully compatible.

 

Silverlight is based on browser plug-ins and runs in a browser. The server does not need to deploy any environment. The client only needs to install the runtime browser plug-in without installing. NET Framework 3.0. Therefore, the running environment of Silverlight is not limited by the operating system and browser type (more accurately, it is limited by a small number ).

WPF can be used to compile web programs or desktop applications and can be directly compiled into a standalone. EXE file. You must install. NET Framework 3.0 when running WPF. This requires that the current operating system of WPF must be Windows Vista or Windows XP SP2.

 

    1. WPF and Silverlight Definitions

Windows Presentation Foundation is a Windows Vista-based user interface framework launched by Microsoft and is part of. NET Framework 3.0. It provides a unified programming model, language, and framework that truly isolates the work of the interface designers and developers. It also provides a new graphic interface for multimedia interaction.

 

Silverlight, originally known as WPF/E (E comes from the first letter of everywhere), is a subset of WPF for Web applications running in a browser.

WPF Silverlight is a new generation of interface rendering technology. They all use the XAML language to describe the UI elements in the XAML language.

 

    1.  

Ii. Advantages and Disadvantages of WPF and Silverlight

 

    1. From the perspective of business applications

From the perspective of the company's business, the fundamental deciding factor for choosing WPF or Silverlight is what the system client needs to do, or whether the client needs to carry something other than simple calculation or verification, if the client application is mainly used to display the front-end interface of the backend data, it is sufficient to select Silverlight 4. However, if your client application needs to be more closely integrated with the client machine, and other things (such as supporting third-party programs) need to be placed on the client, using Server Load balancer's trust to enhance the OOB model may also be competent, but this will bring more challenges to development, and may also require sacrificing development efficiency or functions to achieve development goals. In this way, you need to effectively analyze the front-end requirements. If the application and client machine resources have a lot of interaction, WPF is still the best choice, so that your development work can get twice the result with half the effort.

According to the main responsibilities of various departments of the company and the current system problems, customer service may need to improve user satisfaction, improve the ease of use of the system, and improve the query of various information data, server Load balancer 4 can meet the requirements. For finance, social security, and other departments, it is mainly responsible for centralized processing of large volumes of data, data monitoring, and custom queries. In this way, WPF may be more suitable.

 

    1. From the perspective of Technology Development

I personally think that at the technical application level, Microsoft should promote WPF to become the "core" platform for rich desktop applications. However, Microsoft is promoting Silverlight to become such a platform. Some people think that WPF will soon die, but from Microsoft's internal technical trend, at least this will not happen in the next few years.

The following highlights some important differences between WPF and Silverlight:

 

 

On the one hand, Silverlight is the best way to achieve cross-platform Ria, browser-based front-end display ,. On the one hand, WPF is the best way to write a hosted code application for Windows desktop, but the higher resource consumption and slow development progress of WPF than Silverlight are also issues that need to be considered.

In addition, in system deployment, WPF requires the famework of. Net 3.5, which is about 200 MB. In Silverlight, the browser plug-in can be installed, which is about 8 Mb.

Silverlight does not support io-related classes, office and other classes, and DCOM. It does not support file read/write processing as well as WCF.

 

    1. Future architecture Trend

From the perspective of the future architecture trend, the application's WCF has become the mainstream. As a communication architecture, WCF has become a new mainstream same-sex application, however, due to conflicts with Silverlight, WPF has gradually become marginalized, although vs2010 and office2010 are both WPF development. The application field of WPF has been reduced to some fields with high requirements on multimedia processing applications. From the perspective of Microsoft's product positioning, the first is to allow Silverlight, second, the possibility of integrating WPF with Silverlight is not ruled out.

For a series of problems such as the current incompatibility between the XAML of WPF and Silverlight, it is obvious that the development of the framework and Silverlight is not synchronized,

Silverlight is still in development, with fast version updates and a mature and stable WPF base.

    1.  

Iii. Summary of comparison between WPF and Silverlight

 

Summarize the above three major aspects to list the advantages and disadvantages of WPF and Silverlight:

Function Comparison

WPF

Silverlight

Installation and deployment

Famework3.0 or above, about MB

Browser plug-in, about 8 MB

Resource Consumption (memory)

Medium

Low

Application direction

Supports cross-desktop and browser multimedia processing, Rich Text support, desktop applications can contain complex logic processing, rich communication and file processing interfaces, and supports client hardware acceleration

Cross-platform browsing of applications (including mobile phones and Apple), working with js to process UI applications, lack of extended functions such as file operations (office), Windows API, 3D controls, and video acceleration compared with WPF

System Requirements

Win7, WINXP

No requirements

 

 

 

 

 

 

 

Iv. Differences and connections between jquery and extjs

    1. Jquery is an excellent javascr javaspt framework, lightweight JS Library (only 21 K after compression), compatible with css3, and compatible with various browsers (IE 6.0 +, FF 1.5 +, safari 2.0 +, opera 9.0 + ). Jquery allows you to easily process HTML documents and events and achieve dynamic results, so as to provide Ajax interaction for websites. Another major advantage of jquery is its comprehensive documentation, detailed descriptions of various applications, rich development resources, and many mature plug-ins. Jquery allows you to separate code from HTML content from HTML pages,
    2. Extjs is mainly used to create front-end user interfaces and is a front-end Ajax framework unrelated to background technology. The front-end Ajax framework, independent of background technology, features rich, beautiful interfaces, and ext table controls are at the top of the list.
    3. Extjs is based on components, while jquery is mainly used to simplify Dom operations. extjs can save you a lot of time on the interface and hardly need to write code, most of the time you use Ext, you have learned how to use its APIs. However, if you want to modify the code or implementation of Ext, it is basically difficult.

Jquery is not the same, it is very delicate, and the core + plug-in type development applications. you don't need to change the core. You can use plug-ins to complete the functions you need. If you don't have any plug-ins available, you can write a plug-in yourself, which is much simpler than Ext. the Comparison List is as follows:

Jquery

 

Design Philosophy

Simple idea: almost all operations start with DOM elements (with powerful selector), and then operations (such as chaining) on them ).

 

Advantages

Small. After compression, the code is only 20 KB (94 KB without compression code ).

Convenience of selector and Dom operations

 

Chaining: always returns a jquery object, which can be operated continuously.

Documentation is complete and easy to use (each API has a complete example, which is incomparable to other frameworks currently), and there are many other documents and books on the Internet.

Jquery is also widely used, including Google Code.

 

Disadvantages

Because the design concept is efficient and concise, there is no object-oriented extension. The design concept is different from that of mootools.

CSS selector is a little slow

 

EXT JS

 

Design Philosophy

Componentized to promote RIA (rich Internet application) applications.

 

Advantages

Powerful UI and good performance, which is its biggest advantage.

High speed, whether it is the ui or other modules.

100% object-oriented and componentized ideas, consistent syntax, and global namespace.

Complete, standardized, and convenient documentation.

ActiveCommunityTo quickly increase the number of users.

Modular implementation and high scalability.

All components (widgets) can be used directly without any configuration (you can choose to reconfigure ).

 

Disadvantages

Relatively complex.

It is a heavyweight framework (including a large number of UIS) with a large volume. If the ext-all.js is imported, there are nearly 500 K after compression.

 

Comparison between extjs and jquery

 

1. The size of ext is large, and jquery is more focused on simplifying the basic development work. Therefore, it is more like using the original Js for development.

2. Beautiful ext interface, jquery is average

3. Strong ext code reusability

4. Ext compatibility is still a small problem, and jquery has good compatibility.

5. ext is not easy to debug and modify

6. Ext: the page is left with only the body, which cannot be indexed by the search engine. (Internal system does not matter)

7. jquery event binding is stronger

 

Conclusion: ext simplifies a lot of work and makes development more concise and convenient, but it also brings a lot of trouble and leaves us a smaller choice space. In the LAN, ext can be used, but jquery is preferred on the Internet.

 

V. Advantages of Silverlight compared with traditional BS systems

    1. Development Efficiency
      Relatively high, a complete set of sdks and controls (continuously enriched), convenient and practical, rich development resources, compared with jquery and other mature JS frameworks, debugging, optimization is more convenient. Currently, Sl has more than 100 independent controls for processing input/output, typographical, and visual effects. From the perspective of system backend data binding, Silverlight provides three built-in LINQ options for querying data elements (from LINQ to objects, from LINQ to XML, to LINQ to JSON ). When binding data to the UI, Silverlight supports one-time, one-way, and two-way binding.

Note: Language Integrated Query is a group of languages used for C # and visual basi.C Language. It allows you to write C # Or Visual Basic code to query memory data in the same way as a database.

2. Customer Experience
The launch of the SL model aims to improve the customer experience. The interface shows rich elements and has many learning resources. Rich interactive applications (RIA) are provided to improve the ease of use of human-computer interaction.

3. Security
MD5, hash, and symmetric encryption are all implemented in SL.AlgorithmIt is relatively easy to create an SSL channel and use the digital certificate technology.
Even code-level security can be implemented in a traditional way.

4. Post-Maintenance
This is also a concern for me. Silverlight is developing rapidly. With the constant updates of versions and the continuous release of new functions and controls, for example, silverlight1 to 2 to 3 takes a few months, which has a certain impact on the system stability. Fortunately, Microsoft's position on Silverlight is identified and long-term, some practical resource examples have also been opened on the official website to promote Silverlight applications in various aspects, which has dispelled some of my concerns.

 

Conclusion:

 

Through the above research on extjs, jquery, WPF, and Silverlight, we have learned the advantages and disadvantages of each UI framework and their respective links, and then combined with the application environment of the company's actual business system, in the Application scenario, we recommend that you select Silverlight, internal system, and WPF for the Internet.

 

The reason for using WPF/Silverlight is as follows:

 

    1. It is relatively easy to get started with a certain amount of technical accumulation.
    2. In the context of Microsoft, the development prospects are good and support resources are abundant.
    3. The latest cutting-edge technology application, user-friendly interface, novel display methods, high acceptance, support for multimedia, rich Format documents, 3D, touch control, etc, develop Advanced applications in a short time, especially report presentation.
    4. The XAML syntax is simple. It can be dynamically generated with the Silverlight tool to organically separate the UI design from the background encoding and integrate the vs environment for easy operation and debugging.
    5. The Silverlight client does not need to install a framework of several hundred megabytes. You only need to install the client plug-in (8 Mb)
    6. WPF/Silverlight service direct access, supporting multi-thread, client caching, hardware acceleration, and other advantages of RIA end-to-end
    7. Silverlight supports multiple platforms and browsers, including mobile phones and other multimedia applications.
    8. The interface languages of WPF and Silverlight are both XAML. You can quickly apply the WPF interface design to Silverlight. Both of them call the WCF processing logic operation and operation database at the backend, but the development libraries of the two are different, two solutions are required for combined use.
    9. WPF is more interactive. Compared with the Ajax technology of Web, it leads the way in development energy and interaction. At the same time, WPF supports logical processing of client disconnections from the same network, while WPF can directly operate XML as a data source.
    10.  

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.