A First Look at Windows Presentation Foundation Everywhere (WPF/E): a Cross …


Published on

WPF/E is a cross platform runtime enabling a subset of Windows Presentation Foundation (WPF) XAML to reach beyond the latest Windows PC platforms. With WPF/E you'll be able to build rich, interactive experiences that run in major Web browsers on major platforms as well as on mobile devices. The combination of WPF/E and WPF will enable designers and developers to have a consistent development experience across smart clients, Web-based applications, and mobile devices. Join us to discuss the WPF/E feature set, targeted platforms and browsers, the developer experience, and to see a preview of the technology.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A First Look at Windows Presentation Foundation Everywhere (WPF/E): a Cross …

  1. 1. A First Look At Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation NGW036
  2. 2. Session Agenda <ul><li>A little talking </li></ul><ul><li>Demos </li></ul><ul><li>A bit more talking </li></ul><ul><li>More demos </li></ul><ul><li>A few more words </li></ul><ul><li>Q&A </li></ul>
  3. 3. Windows Presentation Foundation/Everywhere (“WPF/E”) <ul><li>Subset of WPF focused on interactive content </li></ul><ul><li>Great integration with web </li></ul><ul><ul><li>Cross platform and cross browser </li></ul></ul><ul><ul><li>Supports JavaScript and C#/VB.Net </li></ul></ul><ul><li>XAML is the enabling technology </li></ul><ul><li>Available Soon </li></ul><ul><ul><li>Customer preview in Q3 2006 </li></ul></ul><ul><ul><li>Web release in first half of 2007 </li></ul></ul><ul><ul><li>Device release in second half of 2007 </li></ul></ul>
  4. 4. &quot;WPF/E&quot; Architecture Browser Application / OS Content Package XAML Programming Model “ WPF/E” Runtime Plug-ins Platform Specific Hosting Model JavaScript C# / VB.NET Native API XML - Data Fonts Video/Audio Images Native “WPF/E” API UI & Rendering Core Platform Abstraction Layer
  5. 5. &quot;WPF/E&quot; Demo
  6. 6. “WPF/E” Web Platforms <ul><li>Operating Systems </li></ul><ul><ul><li>Win XP, Win2K, Win2K3, Vista </li></ul></ul><ul><ul><ul><li>Considering Win9X </li></ul></ul></ul><ul><ul><li>Mac OS X 10.* </li></ul></ul><ul><ul><li>Considering Linux and Solaris </li></ul></ul><ul><li>Browsers </li></ul><ul><ul><li>IE 5.5+ </li></ul></ul><ul><ul><li>Mozilla 1+, Firefox 1+ </li></ul></ul><ul><ul><li>Opera 7+ </li></ul></ul><ul><ul><li>Safari 1+ </li></ul></ul>
  7. 7. &quot;WPF/E&quot; Features Core Runtime Media Integration Layer Audio Video Composition Engine Base Services XML/XAML Parser Accessibility Property System Input and Eventing Text Imaging 2D Animation Other Services Core Controls Basic Layout Container Controls
  8. 8. Increased Development Productivity <ul><li>Integrated Platform for UI, Text, and Media </li></ul><ul><li>Declarative Programming (XAML) </li></ul><ul><li>Bringing Designers Into the Application Development Process </li></ul><ul><ul><li>Tools for Designers: Microsoft Expression </li></ul></ul><ul><ul><li>Tools for Developers: Visual Studio </li></ul></ul><ul><ul><li>3rd Party Support: Mobiform, Electric Rain </li></ul></ul>
  9. 9. Unifying The Designer/Developer Process Designer Emotional Connection Look, behavior, data visualization, usability, brand impact Developer Functional Capabilities Deployment, function, data connection and integrity, IT process, security C++ C# VB.NET Paper JPG / TIFF MOV / WMV PSD PPT XAML
  10. 10. &quot;WPF/E&quot; Features Demo
  11. 11. &quot;WPF/E&quot; Web Programming Model <ul><li>XAML and JavaScript in a web page </li></ul><ul><ul><li>Access &quot;WPF/E&quot; via JavaScript </li></ul></ul><ul><ul><li>Support inline and external XAML/script </li></ul></ul><ul><li>XAML and .NET Framework code </li></ul><ul><ul><li>&quot;WPF/E&quot; hosts an x-platform .NET runtime </li></ul></ul><ul><ul><ul><li>Code (C#/VB.NET) is compiled into an intermediate language (IL) </li></ul></ul></ul><ul><ul><ul><li>IL is run in a secure and “managed” environment </li></ul></ul></ul><ul><ul><li>&quot;WPF/E&quot; loads external package containing IL and XAML </li></ul></ul>
  12. 12. External Package <ul><li><html> </li></ul><ul><li> < body > </li></ul><ul><li><object /embed id= “wpfehost” size=“…”> </li></ul><ul><li><param name=“source” value=“ default.wpfe ”/> </li></ul><ul><li><param name=“startuppage” value=“ default.xaml ”/> </li></ul><ul><li></…> </li></ul><ul><li> < /body > </li></ul><ul><li></html> </li></ul><ul><li>default.wpfe contains: </li></ul><ul><ul><li>default.xaml (compressed) </li></ul></ul><ul><ul><li>It may also contain: </li></ul></ul><ul><ul><ul><li>Other XAML files </li></ul></ul></ul><ul><ul><ul><li>XAML and script files </li></ul></ul></ul><ul><ul><ul><li>Resources (images, media, fonts, others) </li></ul></ul></ul>
  13. 13. .NET Programming Model <ul><li>Web page plug-in loads external package </li></ul><ul><li>Web Page: </li></ul><ul><li><html> </li></ul><ul><li><!-- … --> </li></ul><ul><li> <object /embed source=“ sample.wpfe ”>…</…> </li></ul><ul><li></html> </li></ul><ul><li>sample.wpfe : </li></ul><ul><ul><ul><li>sample.xaml </li></ul></ul></ul><ul><ul><ul><li>sample.il </li></ul></ul></ul><ul><li>External package contains XAML and IL </li></ul><ul><li>The container is loaded into the &quot;WPF/E&quot; plug-in </li></ul>
  14. 14. “Managed Code” Programming Model sample.xaml: <Page Name=“ p1 ” > <Button Name=“ b1 ”>Turn Red</Button> </Page> sample.cs (becomes sample.il): b1 .Click += new EventHandler ( Button1 _Click); void Button1_Click (object sender, EventArgs e) { p1 .Background = Brushes.Red ; }
  15. 15. &quot;WPF/E&quot; Controls <ul><li>Basic controls </li></ul><ul><ul><li>Input, Button, CheckBox, RadioButton </li></ul></ul><ul><ul><li>Canvas, Grid and Stack </li></ul></ul><ul><li>Rich styles and template support </li></ul>
  16. 16. Questions And Feedback…
  17. 17. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.