Programming Next Generation User Interfaces Using by sds67525


									Programming Next Generation User Interfaces
Using Windows Presentation Foundation

Marc Schweigert, Developer Evangelist
Federal Developer & Platform Evangelism
Platform   Technologies

Technologies for delivering next generation UX
Platform   WinFX

            New managed API for Microsoft Windows

            Superset of the .NET Framework. New functionalities,
            optimized for Windows Vista

            Win32 apps can be incorporated into the WinFX model

            WinFX will be available for Windows XP by installing the
            WinFX Runtime Components
PRESENTATION                                      DATA                                                     COMMUNICATION

Presentation Framework    ASP.NET                 ADO.NET                Language Integrated Query         Windows Communications Foundation    Windows Workflow Foundation
System.Windows (3.0)      System.Web (2.0)        System.Data             System.Query (F)                 System.ServiceModel (3.0)            System.Workflow (3.0)
         Annotations                 Compila               Commo          System.Data.DLinq (F)                                Channels         System.Workflow.Activities (3.0)
         Automation                  tion                  n              System.Xml.XLinq (F)                                 Configuration            Rules
         Controls                    Configur              Odbc           System.Expressions (F)                               Diagnostics      System.Workflow.ComponentModel (3.0)
         Data                        ation                 OleDb                                                               Integration              Complier
         Documents                   Handler               OracleCl       Windows File System                                  QueueHelper              Desinger
                                     s                     ient           System.Storage (F)                          System.ServiceModel.Securit       Serializaztion
                                     Hosting               Sql                      Core                              y(3.0)                    System.Workflow.Runtime (3.0)
                                     Mail                  SqlClien
                                                  ASP.NET Data Management           Audio                                      Protocols                Hosting
                                     Manage                t
                                                  System.Web                        Calendar                                   Tokens                   Messaging
                                     ment                                           Contacts               Network Class Library
         Serialization                                     Caching
                                     Security                                       Documents              System.Net                           ASMX Web Services
         Shapes           Printing Subsystem               Profile
                                     UI (2.0)                                       Image                                          Cache        System.Web.Services
         Threading        System.Printing (3.0)            SessionState
                                     Util                                           Media                                          Mail (2.0)
System.Windows.Media (3.0)                                                                                                                      Identity Management
                           GDI+                                                     Messages                                       Network
         3D                                       XML Data                                                                                      Microsoft.InfoCards (3.0)
                           System.Drawing         System.Xml                        Rules                                          Informatio
         Animation                                                                                                                 n (2.0)
                                   Design                  Schema                   Sync
         Imaging                                                                                                                   Security     MSMQ
                                   Drawing2                Serializ                 Video
Windows Forms                      D                                                                       .NET Remoting           (2.0)        System.Messaging
                                                           ation          XPS Documents                                    Sockets
System.Windows.Forms (2.0)         Printing                                                                System.Runtime.Remoting
                                                           XPath          System.Windows.Xps (3.0)                                              Directory Services
                                                           Xsl            System.IO.Packaging (3.0)                                             System.DirectoryServices
          Layout                                                                                           .NET Remoting
          VisualStyles                                                                                     System.Runtime.Remoting
                                                                         Speech Integration
                                                                         System.Speech (3.0)


System                   System.Text                    System.Tex                 System.T Managed Add-In             System.Runtime
                                                        t                          ext       Framework                                      Compil
System.CodeDom        System.ServiceProcess                                                A System.Addins (F)                              erServi
                                                System.Reflection G                        c
System.ComponentModel System.Threading                            e                                              Con                        ces
                                                                  n                        c                     tact                       Constr
System.Diagonostics   System.Timers                     Email     er                       e Microsoft.Build (2.0)
                                                System.Configuration                                                                        ainedE
                                                                  ic                       s                                                xecutio
System.IO (2.0)       System.EnterpriseServices                                            s
                                                                  (2                                                                        n(2.0)
System.Resrouces      System.Transactions (2.0)                   .0                       C
                                                                  )                        o                          “ClickOnce” DeploymentInterop
                                                                                           n                          System.Deployoment (2.0)
                                                                                                                                            s             KEY
                                                                                           t                                                Hosting
                                                                                           r                                                           (2.0) (3.0)       - New
                                                                                           o                                                Serializ
                                                                                           l                                                ation                          (2.0)
WINDOWS VISTA                                                                                                                               Version                      - Substantially Improved
                                                                                           (                                                ing
                                                                                              2                                                                          - Windows Presentation
                                                                                              .                                                        Foundation
                                                                                              )                                                                          (formerly codenamed
Platform   Windows Presentation Foundation

                Unified content and application model

                Better designer / developer collaboration

                Exciting user interfaces

                Higher fidelity information

                Increased end user satisfaction
Integrated Vector-based
Graphics and Composition
• Modern graphics capabilities
 –   2D and 3D graphics
 –   Image effects and codec
 –   Hardware accelerated sub-pixel ClearType
 –   Video and audio

• Revolutionizing the Graphics and Media pipeline
 – Across the display, audio, printing, and remoting sub-systems
 – Direct3D-based hardware acceleration throughout the rendering pipeline

• Anticipates future hardware technologies
 – Resolution independence
 – Double floating point precision
 – Deeper color pipeline
Platform       Windows Presentation Foundation

 Document Services           User Interface Services

     XPS Documents                Application Services           Controls
   Packaging Services             Deployment Services             Layout

 Media Integration Layer                                                   Base Services

    Imaging             2D                               Audio                     XAML
     Effects            3D                               Video                  Accessibility

                             Animation                                         Input & Eventing

                        Composition Engine                                     Property System
Platform   WPF       Microsoft Max
Platform   WPF       Healthcare Center
Platform   WPF       Northface
Developer & Designer Collaboration   The process today
                                     Unifying the process

     Designer                                   Developer
Developer & Designer Collaboration           About XAML

                   XML based (text)

                   Extensible Application Markup Language


                   UI Descriptive

                   Access the WPF Platform

                   Open specification
    • Markup for Windows
      – Build applications in simple declarative statements
      – Can be used for any CLR object hierarchy

    • Code and content are separate
      – Streamline collaboration between designers and developers

    • Easy for tools to consume and generate

<Button Width="100"> OK        Button b1 = new Button();            Dim b1 As New Button
 <Button.Background>           b1.Content = "OK";                   b1.Content = "OK"
  LightBlue                    b1.Background = new                  b1.Background = New _
 </Button.Background>          SolidColorBrush(Colors.LightBlue);     SolidColorBrush(Colors.LightBlue)
</Button>                      b1.Width = 100;                      b1.Width = 100

     Windows Presentation Foundation/Everywhere
     • Subset of WPF focused on interactive content

     • Great integration with web
      – Cross platform and cross browser
      – Supports JavaScript and C#/VB.Net

     • XAML is the enabling technology

     • Available Soon
      – Customer preview in Q3 2006
      – Web release in first half of 2007
      – Device release in second half of 2007
 "WPF/E" Architecture
                Browser                            Application / OS
     Content              Images    Fonts     Video/Audio XML - Data
     Package                                 XAML

     Programming          JavaScript                    Native API
                       C# / VB.NET

     Plug-ins                               Platform Specific
                                            Hosting Model

     “WPF/E” Runtime
                              Native “WPF/E” API

                             UI & Rendering Core

                           Platform Abstraction Layer

     “WPF/E” Web Platforms

     • Operating Systems
       – Win XP, Win2K, Win2K3, Vista
         > Considering Win9X
       – Mac OS X 10.*
       – Considering Linux and Solaris

     • Browsers
       – IE 5.5+
       – Mozilla 1+, Firefox 1+
       – Opera 7+
       – Safari 1+

 "WPF/E" Features

                           Core Runtime
       Base Services      Media Integration Layer     Other Services

     XML/XAML Parser        2D            Text        Core Controls

       Accessibility       Audio          Video     Container Controls

     Input and Eventing   Imaging      Animation      Basic Layout

      Property System      Composition Engine

     "WPF/E" Web Programming Model

     • XAML and JavaScript in a web page
      – Access "WPF/E" via JavaScript
      – Support inline and external XAML/script

     • XAML and .NET Framework code
      – "WPF/E" hosts an x-platform .NET runtime
       >Code (C#/VB.NET) is compiled into an intermediate language (IL)
       >IL is run in a secure and “managed” environment
      – "WPF/E" loads external package containing IL and XAML


To top