Background
many times in interview one question commanly used that is Difference Between WPF and Silverlight and Advantages of WPF, so by considering above requirement i have decided to write this blog to help freshers and job seekers also who might be wants to know about it.
So let us see
Difference Between WPF And SilverLight:
- WPF is based off of the desktop CLR which is the full version of the CLR.
- Silverlight is based on a much smaller and more compact CLR which provides
a great experience but does not have the full breadth
of CLR features. It also has a much smaller version of the BCL
- WPF you can create Windows App, Navigation app and XBAP (IE based)
applicationWith Silverlight you can create only XAP (Browser based
application.).
- WPF supports 3 types of routed events (direct, bubbling, and tunneling).
Silverlight supports direct and bubbling only.
- Silveright does not support MultiBinding.
- Silverlight supports the XmlDataProvider but not the ObjectDataProvider.
WPF supports both.
Advantage of WPF:
- Broad Integration: Prior to WPF, it was very
difficult to use 3D, Video, Speech, and rich document viewing in addition to
normal 2D Graphics and controls would have to learn several independent
technologies. WPF covers all these with consisting programming model as well as
tight integration when each type of media gets composited and rendered.
- Resolution Independence: WPF applications are device independent i.e., smart
client applications. Like normal applications it dont get decrease the size as
the resolution gets increase. This is possible because WPF emphasis on vector
graphics.
- Hardware Acceleration: WPF is built on top of Direct 3D, content in a WPF
application whether 2D or 3D, Graphics or text is converted to 3D triangles,
textures and other Direct 3D objects and then rendered by hardware. WPF
applications can get the benefit of hardware acceleration for smoother graphics
and all round better performance.
- Declerative Programming: WPF takes the declarative programming to the next
level with the introduction of Extensible Application Markup Language(XAML)
- XAML is like HTML in web used for creating the interface, resulting graphical
designers are empowered to contribute directly to the look and feel of
applications.