WPF is a graphical subsystem introduced in .NET 3.5 that allows building desktop applications and rich internet applications. It provides advantages over Windows Forms like resolution independence, separation of concerns between designers and developers using XAML, and support for 3D graphics, animations and media. Silverlight is a subset of WPF that allows building interactive web applications using XAML and .NET and runs across browsers. Expression Blend is a visual design tool that allows designers to create XAML markup visually and establish data bindings and triggers without coding.
Introducing WPF, Silverlight& MS Expression Blend Introducing XAML Developer and Designer Collaboration for WPF. WPF Controls WPF Layouts Reusability with WPF Resources Principles of WPF Styles, Triggers and Templates WPF Data Bindings Building your own WPF Controls Interoperability between WPF and Windows Forms Animation & 3 Dimensional Building Silverlight 2.0 Applications Agenda
Windows Presentation FoundationA productive, unified approach to UI, media and documents to deliver unmatched user experience
7.
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.
8.
WPF Advantages overWin 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.
9.
WPF intended toreplace 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. Declarative Programming. Integrated vector based composition engine. ( Utilizes the power of PC throughout the graphics stack ). WPF Vision
10.
State of theart graphics DirectX under the covers Controls, 2D and 3D graphics Rich Media Integration (Images, audio, video) Animation Visual Styling Not tied to the hardware Logical pixels Blurred line between Windows and graphics Takes advantage of high end graphic card. Raised abstraction level Element composition Data contexts Resources Declarative programming mode (XAML). Documents and Contents ( Word, PDF, etc., Video and Audio ). Interop with Windows Forms WPF Features
User Experience inSoftware? 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
13.
Windows Presentation FoundationDeliver 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
The following arethe foundation development pieces that make up most WPF. PresentationFramework, PresentationCore milcore In the above pieces only milcore is unmanaged code. Anatomy of WPF Enabled Application
16.
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 .
17.
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 . Expression Blend
18.
What is MicrosoftExpression 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.
19.
You can reachme at Ch.Vishwa Mohan Mobile: 8801853035 Email: cherviralavm@gmail.com Thank You !
#8 WPF also allows you to build applications that can be hosted within a web browser . This flavor of applications is termed as XAML Browser Application (XBAP). These pages are simple to ASPX pages but with file extension of .xbap. These *.xbap applications are either hosted within in IE or FireFox. No other browsers supports. Windows forms are based on native windows controls that make use windows handles that are based on screen pixels. Whereas WPF is based on DirectX . In WPF support for media (i.e., sound and video) included. Using the Silverlight SDK, it is possible to build browser-based applications that can be hosted by Mac OS X as well as Microsoft Windows (additional operating systems are supposedly also in the works).
#9 WPF is a new graphical subsystem in Vista or advanced that provide holistic means for combining user interface, 2D and 3D graphics, documents and digital media. WPF uses vector based composition engine (Powerful graphic hardware). This allows for graphics to scale based on screen-specific resolution without loss of quality , something nearly impossible with fixed-size raster graphics. The other advantages of WPF over windows forms are: WPF was designed from the ground up for managed code. So it benefited 5 years experience of .NET. Disadvantages of WPF are: At present time there are certain controls available in Windows Forms there is no WPF equivalent. (Eg: DataGridView control, etc., ) The learning curve of WPF is very, very steep. Windows forms are based on native windows controls that make use windows handles that are based on screen pixels. Whereas WPF is based on DirectX . In WPF support for media (i.e., sound and video) included.
#12 User experience is more than “looks”. User experience represents the overall interaction process of the user with an object. This interaction provides the user with an added value benefit. In this case the benefit that both tools offer is “opening a can”. However it is evident that the can opener will provide the user with a better overall user experience on obtaining the benefit. It is more secure, easier to use and can achieve the benefit faster than the knife. Let’s take this example even further. What is the difference between 2 cars - a 10K car and a 40K BMW? Both take you from point A to point B. There’s a world of difference. For one, the BMW has a much superior user experience (styling, handling, performance, etc.) In addition, notice that a BMW offers its owners an emotional connection, a “pride of ownership.” This gives BMW a unique brand in the eyes of its owners, and to the millions of potential owners who dream of buying this car some day! This shows us that user experience has tremendous business value – ability to differentiate products, create brand awareness, and customer satisfaction.
#13 We say earlier how user experience is so common-place in consumer goods. Yet, when it comes to software, we are happy to live with “good enough” experiences. When was the last time you had a very satisfying experience with your software, where you thought to yourself “I Love my Software.” Is this because user experience in software does NOT matter? Microsoft firmly believes that user experience in software does matter. Even with our own products, such as Windows Vista and Microsoft Office 2007, Microsoft is delivering software with amazing user experience. User Experience (UX) matters because it helps end-users use products in an easy way (easy to use, relevant, secure, etc.). The things that make a software have a good UX is richness, data viz, globalization, accessibility, etc. UX can be easily measured based on success of usage, productivity, retention, comprehension, and so on.
#14 Deliver Innovative User Interfaces Unified approach to UI, media, and documents Vector-based composition engine, hardware acceleration, resolution independent graphics engine Works on Windows Vista, Windows XP and Windows Server 2003 Increase Developer-Designer Productivity Visual Studio IDE for developers; Microsoft Expression for designers Declarative programming (XAML) for better designer-developer collaboration Common code base and flexible deployment as stand-alone client or in browser Leverage Existing Code Base and Skill Set Interoperability with Windows Forms, Win32, DirectX, MFC, ActiveX Leverage vested knowledge in .NET Framework, CLR languages, and Visual Studio IDE WPF, a .NET Framework component, is Microsoft’s strategic presentation technology for Windows smart client user experiences. Use WPF to deliver innovative user interfaces through support for UI, media, document services, hardware acceleration, vector graphics, resolution-independent DPI for different form factors, data visualization, and superior content readability. Increase developer-designer productivity and collaboration through Visual Studio, Microsoft Expression Interactive Designer, and XAML. Write code once, and deploy as stand-alone client or in a browser. Incrementally embrace WPF through interoperability with Win32 and Windows Forms. Leverage vested knowledge in .NET Framework, CLR languages and Visual Studio IDE. Derive business value through new paradigms of user experiences, business intelligence through data visualizations, brand awareness through differentiated customer experiences, and customer loyalty through higher customer satisfaction.
#17 The Silverlight Toolkit is a set of additional controls that are available outside of the core control set. These include charting controls, date/time controls, accordions and much more. Silverlight is cross browser cross platform implementation of .NET Framework for building and delivering the next generation of media experiences and Rich Interactive Applications (RIA) for the web. Silverlight runs in the browser as a " sandbox " - a secure zone installed into the browser that accommodates Silverlight functionality while completely protecting the host platform from any possibly adverse actions performed by Silverlight. In Silverlight the UI is typically created using XAML. Silverlight currently supports the following major user interface elements: Canvas, Rectangle, Ellipse, Line, Path, Polyline, Polygon , Image, MediaElement, TextBlock. You’ll use XAML to define your Silverlight user interface. Using an XML-based language helps ease the downloading of the UI through any firewalls and simplifies the process of generating it dynamically: It is easy to use XSL/T to transform data into the UI, and you can predefine templates and use standard XML querying techniques to insert live data into the relevant placeholders. Like HTML, Javascript , the Silverlight runs on web browser. To run Silverlight application on browser it doesn’t required ASP.NET to be run on server side. Silverlight applications simply require a Web server to be equipped as they would be for hosting HTML documents ( i.e., It doesn’t required any additional features ). Executing Silverlight on a Web client machine requires Silverlight plug-in is installed on that machine. Silverlight has very rich support for reading data of numerous types from web services to RSS feeds to static XML files. Silverlight also introduces what is known as the DLR, or Dynamic Language Runtime. This allows you to write code in non-traditional .NET languages such as IronPython or IronRuby . Silverlight 2 runtime features are: 2D, Graphics, Audio, Video, Animations, Text, TextInput, Data Binding, HTTP(S) Sockets, .NET Support (C#, VB.NET), LINQ, XML API, Generics, JSON Serializer, HTML Integration, Local Storage, Threading, Crypto API. Silverlight 2 SDK Libraries: Dynamic Languages Jscript IronRuby IronPython Additional Controls LINQ for XML XML Serialization Syndication APIs (RSS)
#19 Tools for WPF and Silverlight are: Expression Design Expression Blend VS 2008 Expression Media Expressions Blend is a Visual Studio like tool for designing WPF user interfaces. While Blend is intended for use by Designers, it is sufficiently superior to the equivalent designer in Visual Studio that most Developers will likely use it in conjunction with Visual Studio. Expression Blend makes designing easy by providing an interface where you can visually draw shapes, paths and controls, import images and videos, and so forth, and then manipulate their properties. You can also animate any element of your design by creating storyboards. Microsoft Expression Blend 2 is an application included in the Microsoft Expression Studio 2 software package. Expression Blend can open and work with Visual Studio 2008 projects and solutions. So, if you open a Silverlight project in Expression Blend and Visual Studio at the same time, any changes you make to the Silverlight file in Visual studio would be immediately applied in Expression Blend, too.