A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.

Download Report

Transcript A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.

A First Look at Windows
Presentation Foundation
Everywhere ("WPF/E")
Joe Stegman
Lead Program Manager
Microsoft Corporation
2
Session Agenda
Introduce "WPF/E"
Architecture and Features
Status
Q&A
3
Windows Presentation Foundation/Everywhere
(“WPF/E”)
Subset of WPF focused on interactive
content
Great integration with web
Ubiquitous (cross platform/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
4
"WPF/E" Web Architecture
Browser
Application / OS
Content
Package
Images
Programming
Model
JavaScript
Fonts
Video/Audio XML - Data
XAML
Native API
C# / VB.NET
Plug-ins
Platform Specific
Hosting Model
“WPF/E” Runtime
Native “WPF/E” API
UI & Rendering Core
Platform Abstraction Layer
5
"WPF/E" Demo
6
“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+
7
"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
8
XAML Example
<Button Width="100" Height="100">Click</Button>
<Path Fill=“Blue" Data="M 10 120 l 0 100 100 0 0 -100 Z"/>
<Path Fill=“Green" Data="M 120 10 l 0 100 100 0 0 -100 Z"/>
<Path Data="M 120 120 l 0 100 100 0 0 -100 Z">
<Path.Fill>
<LinearGradientBrush StartPoint="0.0, 1.0"
EndPoint="1.0, 0.0">
<LinearGradientBrush.GradientStops>
<GradientStop Offset="1" Color="Green"/>
<GradientStop Offset="0" Color="Blue"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Path.Fill>
</Path>
9
Increased Development Productivity
Integrated Platform for UI, Text, and Media
Declarative Programming (XAML)
Bringing Designers Into the Application
Development Process
Tools for Designers: Microsoft Expression
Tools for Developers: Visual Studio
3rd Party Support: Mobiform, Electric Rain
10
Unifying the Designer/Developer Process
Designer
Developer
Emotional Connection
Functional Capabilities
Look, behavior, data visualization,
usability, brand impact
Deployment, function, data connection
and integrity, IT process, security
Paper
JPG / TIFF
MOV / WMV
PSD
PPT
XAML
11
C++
C#
VB.NET
"WPF/E" Features Demo
12
"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
13
External Package
<html>
<body>
<object/embed id=“wpfehost” size=“…”>
<param name=“source” value=“default.wpfe”/>
<param name=“startuppage” value=“default.xaml”/>
</…>
</body>
</html>
default.wpfe contains:
default.xaml (compressed)
It may also contain:
Other XAML files
XAML and script files
Resources (images, media, fonts, others)
14
.NET Programming Model
Web page plug-in loads external package
Web Page:
<html>
<!-- … -->
<object/embed source=“sample.wpfe”>…</…>
</html>
sample.wpfe:
sample.xaml
sample.il
External package contains XAML and IL
The container is loaded into15 the "WPF/E" plug-in
“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;
}
16
"WPF/E" Controls
Basic controls
Input, Button, CheckBox, RadioButton
Canvas, Grid and Stack
Rich styles and template support
17
Questions and Feedback…
18
© 2006 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.