• Save
WPF
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

WPF

on

  • 1,285 views

WPF description.

WPF description.

Statistics

Views

Total Views
1,285
Views on SlideShare
1,284
Embed Views
1

Actions

Likes
1
Downloads
0
Comments
1

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Could you please allow me to download these slides ?
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • But first the big picture
  • 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).
  • 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.
  • All WPF element is normal .NET class. One of the WPF goal is work separation between designers and developers. WPF doesn’t use GDI/GDI32/GDI+ essentially replaces Win32. It uses Graphics subsystem installed with Vista or WinFX runtime. Installed with XP-SP2. WPF/E means WPF is every where. This WPF/E is the mobile edition of WPF. The relationship between WPF and WPF/E is: WPF/E host Javascript control to host contents created using XAML. Recall that vector graphics can be expressed in XAML and that WPF has very strong support for animations. Client side event handling is processed using Javascript. Fundamentals of WPF Goals Description: Building UI, graphics, documents and media into a single environment : providing a richer experience by unifying these together, allowing them to be integrated in a far deeper way than before, and reducing the number of APIs developers have to track by putting things into a single managed object-orientated interface. Rich graphics processors woefully underused by modern applications. 128MB memory, rich 3D capabilities. Avalon takes advantage of these capabilities using a DirectX-based model. Vector- rather than bitmap-based, supports high-dpi, double buffering. Declarative and procedural programming supported for designers and developers to do what they want to do. Need to make it as easy as “clicking on a link” to deploy an Avalon application: either via a browser or via a standalone app. 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 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.
  • 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.
  • 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.
  • ARCHITECTURE: This diagram shows the basic architecture for WPF. Notice all the different media types (in yellow) that are handled by WPF: Vectors, Bitmaps, 3D, Audio and Video, Text and Effects! Second, notice how the animation capabilities of WPF spans across all the media types, allowing you to animate any kind of content. The WPF Composition Engine (in black) is one of the revolutionary features of WPF. This engine provides capability of having live content inside of another content. This means that you can have a 3D object rotating inside a Button control and furthermore you can have a video projected over the surface of the 3D object! This tree structure and nesting capability is available for all content and every control that WPF provides. WPF is not only about rich user interfaces but also about high fidelity information, connection and data. Controls, Layout and Databinding are just some of the examples of this power. The XPS format is a rich document definition that allows us to enjoy the best of WPF in a document. In summary, WPF represents an evolution in terms of richness, interactivity as well as information and data. DESIGN PRINCIPLES - The design principles behind Windows Presentation Foundation can be categorized as follows: Integration : Windows Presentation Foundation offers a unified API that spans the services identified in Table 1. Developers today are faced with a myriad choice of disparate technologies and APIs, depending on whether they are targeting 2D graphics (GDI or GDI+), user interface (USER32 or Windows Forms), media (DirectShow), or 3D (Direct3D or OpenGL). Windows Presentation Foundation provides a single model that is orthogonal across all these services and allows seamless integration of content within a single application. You can use the same constructs for animation, data binding and styling, regardless of whether you are targeting 2D, 3D or text content. Vector graphics. As described in the introduction, Windows Presentation Foundation takes full advantage of the powerful Graphical Processing Units that are part of modern PC systems. At its heart, the composition engine is vector-based, allowing for scaling of all output to match the resolution of a specific machine. The rendering architecture uses Direct3D for all output: on video cards that implement DirectX 7 or later in hardware, Windows Presentation Foundation renders output using the GPU wherever possible. In situations where hardware rendering cannot be used, software rendering is available as a fallback. Lastly, a floating-point logical pixel system and 32-bit ARGB color support provide a rich high-fidelity experience that anticipates future technology needs, such as high-DPI displays. Declarative programming. Windows Presentation Foundation introduces XAML (eXtensible Application Markup Language), an XML-based language for instantiating and populating nested object hierarchies. While XAML isn't exclusively tied to Windows Presentation Foundation, it is inherently suitable for tasks such as UI definition and construction. The design of XAML allows applications to parse and manipulate UI logic at run-time for dynamic workflow scenarios. Importantly, the XAML / code-behind model embodied in Windows Presentation Foundation allows designers and developers to work collaboratively on client application design and development, using tools such as Expression "Sparkle" as well as third-party specialist tools including ZAM 3D and Mobiform Aurora. Easy deployment . With support for both standalone applications and Web-browser applications, Windows Presentation Foundation offers the best of both deployment models. Web-browser applications run from within Internet Explorer, either occupying the entire window or within an inline frame. They offer the ease of deployment for which Web applications are famed, as well as operating within a partial trust sandbox that protects the client machine against malicious applications. Yet they can still take advantage of the local client hardware and use 3D and media services for the richest Web experience available today. On the other hand, standalone applications are locally installed via ClickOnce or MSI technologies and offer full access to the underlying platform. Document lifecycle. Windows Presentation Foundation introduces a new set of document and print technologies. Applications that need to persist data to a local store can use the Open Packaging Conventions , a ZIP-based packaging convention shared with Office 12 that supports core properties and custom metadata, digital signatures and rights management functionality. For applications that want to share documents for collaboration across multiple machines, even without the application installed, the XML Paper Specification allows visuals to be fixed in a printable, portable format. 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; Flexible Application Deployment 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 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • Milcore is written in unmanaged code for the sole purpose of enhancing its integration capabilities with DirectX, the underlying graphics and rendering model. All rendering is performed via DirectX , which enhances the hardware and software display capabilities. 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 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)
  • WPF projects can be open inside expression blend. So you can make rich GUI with expression blend. Expression Blend has a great design surface and allows for easy manipulation of layout, animations, styling and templating. 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review
  • 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.
  • 10/12/11 15:47 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review

WPF Presentation Transcript

  • 1. Windows Presentation Foundation Ch. Vishwa Mohan M.Sc., M.Tech Freelance Software Consultant & Corporate Trainer
  • 2.
    • 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
  • 3. WPF Introduction Windows Presentation Foundation
  • 4.
    • What is WPF ?
    • What is User Experience ?
    • WPF Architecture in .NET 3.5
    • What is Silverlight ?
    • What is Expression Blend ?
    WPF Introduction
  • 5. ".NET At The Core”
  • 6. Windows Presentation Foundation A 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 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.
  • 9.
    • 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.
      • Declarative Programming.
      • Integrated vector based composition engine. ( Utilizes the power of PC throughout the graphics stack ).
    WPF Vision
  • 10.
    • State of the art 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
  • 11. What Is User Experience?
  • 12. 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
  • 13. 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
  • 14. WPF Architecture in .NET
  • 15.
    • The following are the 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 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.
  • 19.
    • You can reach me at
    • Ch.Vishwa Mohan
    • Mobile: 8801853035
    • Email: cherviralavm@gmail.com
    Thank You !