Windows Presentation Foundation A productive, unified approach to UI, media and documents to deliver unmatched user experience
What is WPF ?
WPF is essentially alternative method for developing Windows based, XAML Browser (XBAP) as well as Web based applications.
WPF is a new graphical subsystem in Vista or advanced that provide holistic means for combining user interface, 2D & 3D graphics , documents and digital media .
WPF Application = “ Code ” + “ Markup ”
WPF and XAML also provide the foundation for a cross-platform WPF-centric plug-in termed Silverlight .
With Silverlight, you are able to build extremely feature-rich and interactive web applications.
Like WPF, Silverlight has a vector-based graphical system, animation support, a rich text document model and multimedia support also provided.
WPF Advantages over Win Forms
WPF has a number of advantages over Win Forms development includes:
Comprehensive Integration – WPF provides a uniform platform for using video, speech, text, 2D and 3D graphics
Resolution Independence – as DPI increases, WPF applications maintain their size exactly.
Instead of shrinking, WPF applications merely get sharper.
One of the big feature of WPF is that the work can be easily separated between designers and developers .
The outcome of the designers work can be directly used by developer.
WPF supports a new model for content under which almost any control can host almost any other control .
So it permits very rich user interfaces as almost any control can support 3D graphics, animations and even videos.
WPF was designed from the ground up for managed code . So it benefits 5+ years experience of .NET.
WPF intended to replace both WebForms, XBAP and Windows Forms – apps can be built to run in a browser or a standalone window.
Windows forms & WPF pages/windows can co-exist in the same application
One WPF page/window can have both types of controls on it
A new type of web application called XAML Browser Application XBAP.
WPF is the a complete revamp of Windows Forms so that UI, graphic, and media development is now designed around the .NET Framework.
WPF also have a mobile version called as WPF/E (Everywhere)
WPF is a new library to create rich windows smart client user experience.
WPF is based on DirectX . It doesn’t use GDI, GDI32 or GDI+.
WPF incorporates UI, Media and Documents .
Fundamental goals of WPF are:
Unified approach to UI, Document and Media.
Integrated vector based composition engine. ( Utilizes the power of PC throughout the graphics stack ).
State of the art graphics
DirectX under the covers
Controls, 2D and 3D graphics
Rich Media Integration (Images, audio, video)
Not tied to the hardware
Blurred line between Windows and graphics
Takes advantage of high end graphic card.
Raised abstraction level
Declarative programming mode (XAML).
Documents and Contents ( Word, PDF, etc., Video and Audio ).
Interop with Windows Forms
What Is User Experience?
User Experience in Software? Ease of Use Learn ability Performance Reliability Security Optimized form factors Legibility / Readability Relevance / Contextualization Richness Graphics & Media Data Visualization Higher Fidelity Information Globalization Accessibility Hardware & Printing Integration Windows Vista Office 2007 Measuring UX ROI (end user behaviors / benefits) Success Productivity Retention Comprehension Conversion Satisfaction Excitement Repeat Use
Windows Presentation Foundation
Deliver Innovative User Interfaces
Increase Developer-Designer Productivity;
Leveraging Existing Code Base and Skills Set
Superior UX with UI, Media & Documents A productive, unified approach to UI, media and documents to deliver unmatched UX
WPF Architecture in .NET
The following are the foundation development pieces that make up most WPF.
In the above pieces only milcore is unmanaged code.
Anatomy of WPF Enabled Application
What is Silverlight ?
Subset of WPF focused on interactive content.
Great integration with web.
Cross platform and Cross browser.
Supports Java Script, C# / VB.NET
XAML is the enabling technology.
Origins of Silverlight is WPF( XAML, WPF API & .NET )
WPF to Silverlight:
Current version of Silverlight is 4 .
Expression Blend is an interactive developer tool. It is a visual designer for XAML, the underlying presentation technology for WPF and Silverlight applications.
Expression Blend was created to provide designers with the ability to create WPF application interfaces and interactive media.
Designers are not required to understand the XAML syntax since the tool emits the markup for all graphics.
Expression Blend supports tools to build story frames for animations, color blending utilities, layout and graphical transformation tools , and so forth.
Expression Blend also supports to establish data bindings and event triggers .
What is Microsoft Expression Blend ?
Expression Blend is used to create sophisticated user interfaces for Windows and Silverlight based applications.
Visual Studio is for development task & Expression Blend is for Design.