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. Today, Silverlight is widely known for its rapid development cycle and continues to attract public attention. Many people think it will become an important development platform for Microsoft in the future. Mike strobel thinks Microsoft's consideration for WPF/Silverlight is somewhat confusing.
I think the most important thing is to improve the influence of WPF itself. Microsoft should promote WPF as the "core" platform for rich desktop applications. On the contrary, Microsoft is promoting Silverlight to become such a platform. This will mislead those who are unfamiliar with both platforms and do not understand that Silverlight is not compatible with the standard. net function library.
Some people think that WPF will soon die, but Brian Noyes, a Microsoft regional technical leader (Microsoft Regional Director) and Microsoft's most valuable expert (MVP ), I believe this will not happen in the next few years at least. To prove this view of WPF, Noyes emphasizes some important differences between WPF and Silverlight in the following aspects:
There are also some different basic functions in WPF and Silverlight, which can help you decide which technology to use. The following example shows how developers make choices.
Joe gilkey answered the question of choosing WPF instead of Silverlight, explaining why its company chose WPF in a project and Silverlight in another project:
We encountered such problems when planning our software products. For us, the deciding factor is whether to access the local hardware and/or local database. Our main product needs to be run 100% locally. We need to cache information in the local SQL database and access some hardware devices (GPS receivers, serial ports, WCF point-to-point channels, synchronization services, etc ). That product is written by WPF. The other two products in development do not need to save information locally (except for using an independent storage zone), so we use Silverlight instead. Both Silverlight products support installation without a browser. Another deciding factor for WPF applications is that touch support is more friendly. Thanks to the surface team for helping us use the surface toolkit for Windows touch in the WPF application.
Another developer, Jeff, explained why his company switched to Silverlight from the very beginning to the WPF development project:
A year ago, we used WPF to develop a custom client for the multimedia sending system. Next year, we will use the Silverlight application to replace this WPF client. Why? At present, most of our applications are based on Web/browser, but we also need a static client to handle hardware interaction and some relatively complicated problems. Now, the OOB mode of Silverlight means that we can connect to the local hardware through COM, so that the problem can be solved. Why did Silverlight win in the battle against WPF? This is because of the installation of our customers' runtime environment. Silverlight runs properly without having to handle the incompatibility and functional differences of the operating system. In addition, the upgrade is easy now, and the client can be automatically upgraded only by upgrading the server. Of course, WPF is more powerful, but we cannot use many things.
After explaining the differences between WPF and Silverlight, Noyes concluded that:
The fundamental deciding factor is that if your client application is mainly used to display the front-end interface of 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 need to be placed on the client, using the trust of sl4 to improve the OOB mode may also be competent, however, this will bring more challenges to development, and may also require sacrificing development efficiency or functions to achieve development goals. You need to effectively analyze the front-end requirements. If the application and client machine resources have a large amount of interaction, WPF is still the best choice, so that your development work can get twice the result with half the effort.
Regarding the future, Peter Brown, a senior Microsoft product manager, believes that the two technologies, WPF and Silverlight, will eventually be combined into one:
I recently talked to Ian Ellison-Taylor of Microsoft. Ian is the general manager reporting directly to Scott Guthrie. In a lot of work, his team wants to develop things in Silverlight and WPF (as well as Ria services and many other things ). I mentioned that I want to get some gossip in the future, and he said that I can provide some information for me. So he and I talked about how Silverlight and WPF work together, and then sent emails about this topic.
In the future, Silverlight and WPF may become a single technology based on the same code. After all, Silverlight is derived from the so-called WPF/E (E represents everywhere), and in an unexpected way, It discards this ugly development code, and created a wonderful product name (Silverlight ).
When giving related suggestions, Brown's point of view is similar to that of Noyes: "To the right, Silverlight is the best way to achieve cross-platform Ria. To the left, WPF is the best way to write a hosted code application for Windows 7 ." (Source: infoq)