WPF provides 2 major benefits to developers :
- "Unified programming model" for Web-Application and Desktop Application.
This is achieved through the use of XAML language for designing user interface. - It makes use Direct X for hardware accelerated graphics . As a result the UI is much richer.
From my point of view there are 2 things wrong with WPF.
- It is Very resource hungry as it employs Direct-X & Hardware Acceleration. As a result the responsiveness of WPF application is slow. Even after creating an un-managed layer "Milcore" to communicate with Direct X, there are still issues with responsiveness. Even after a decade, Adobe Flash never became a principle technology for developing rich web applications. This is because people prefer fast response UI, as opposed to a laggy yet Rich UI.
- People working with W3C''s HTML/XHTML, CSS JavaScript will not quickly adapt to XAML that easily. XAML is not as mature or complete as W3C''s technologies. XAML only work on Microsoft platforms
OpenCL with HTML5 and CSS3 is also the new competition for WPF. Unlike WPF it is
- Cross Platform,
- Architecturally it is highly responsive,
- It utilizes the same set technologies with which programmers are already familiar with.
Adobe Flex and JAVA FX suffer the same fate as WPF. But who knows...Predicting human behavior is very difficult. There is no doubt that Hardware Accelerated UI is the future. In my point of view it will only be an accepted standard, when it is architecturally mature.