Sie sind auf Seite 1von 34

Choosing the Right Presentation

Technology:
Windows Presentation Foundation ("Avalon"), Windows
Forms, ASP.NET, IE, and More

PRS200
Michael Wallent
General Manager
Windows Client Platform and Documents
Microsoft Corporation
Universe of Experiences
Vision: Create a consistent family of
platforms and tools to help
developers meet their customer
needs through creation of client
experiences

Build platforms and tools that help


developers radically improve the
quality of the experience for their
users
2
User Experience: Recent
Past
Web Windows
1995 - HTML 1994 – Win32
Sacrificed UX for New level of
portability, functionality for
connectivity and installed applications
simplicity Many libraries on top
1997 – DHTML including MFC, ATL, VB
Interactivity for the 1996 – DirectX
web; not heavily used Gaming platform for
until recently Windows
2005 – Increasing 2002 – Windows Forms
Interactivity
Developer productivity
The “rediscovery” of for Win32
DHTML
2006 and Beyond
Rising demand for richness

3
Developer Conundrum
Customers want better experiences
Limited By
Need For Reach
Do I control the environment? Do I need to target everyone
and every device?
Developer Capability
Can my developers build what my designers envision, or do
I even know what’s best?
Inertia
Systems are the way they are. Users are used to their
patterns of today
10% better doesn’t cut it

Better Experiences Lead to


Differentiation and Customer Value
4
User Experience Matters
Consumer Software

HTML DHTML WinFX

5
User Experience Matters
Productivity Software

MSN Hotmail MSN Hotmail Office: Outlook


(today) (beta)

6
Rising Expectations for User
Experience
Windows Presentation
Foundation
Windows Forms Win32 Direct
3D

WPF/E

DHTML ASP.NET
“Atlas”

7
Presentation Technologies
Powerful &
Productive User Reading & Graphics &
Programmin Interface Documents Media
g Model

Win32
(User, GDI)

Direct 3D

Window
s Forms

WPF

8
Presentation Technologies
Powerful &
Productive User Reading & Graphics &
Programmin Interface Documents Media
g Model

HTML

DHTML

ASP.NET
“Atlas”

WPF/E

9
ASP.NET “Atlas”

10
ASP.NET “Atlas”
RAMEWORK FOR BUILDING RICHER, MORE INTERACTIV
MORE PERSONALIZED WEB EXPERIENCES

Increased productivity
Fewer concepts, fewer lines of code
Application and UI building blocks for common scenarios
Easier to author, debug, and maintain
Clean separation of content, style, behavior, and code
Well integrated with design and development tools
Seamlessly integrated application model
Works with ASP.NET pages and server controls
Allows access to ASP.NET-hosted web services and
components
Works everywhere – cross-browser, standards
(Part 1)
based
PRS312 ASP.NET: Future Directions for Developing Rich Web Applications with Atlas 11
“Atlas” Architecture
HTML, Script, “Atlas”
“Atlas” Service “Atlas”-enabled Web Services
Markup Proxies ASP.NET Pages (ASMX or WCF)

“Atlas” Client Script


Library ASP.NET “Atlas” Server
Controls, Extensions App Services
Components “Atlas” Bridge
Server
Component Model Controls Web Services
and UI Framework Bridge

Base Class Library


ASP.NET 2.0
Script Core Page
Framework, Application
Browser Server Services
Compatibility Controls

“Atlas” Client Framework and “Atlas” Server


Services Framework 12
“Atlas” Client Controls
Automatic data bindings between components
ListView, ItemView controls for rich templated
rendering
DataSource component
Integrated with data-based web services
Supports batched updates
Build programmatically or declaratively
<input id="Text1" type="text" />
<script type="text/xml-script">
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
<components>
<textBox id="Text1" targetElement="Text1">
<behaviors>
<autoComplete
serviceURL=“myService.asmx" serviceMethod="GetCompletionList"
minimumPrefixLength="1" completionList="Text1__autocomplete" />
</behaviors>
</textBox>
</components>
</page>
</script>
13
“Atlas” Networking
Client networking stack layered on XMLHTTP
WebRequest, WebResponse, MethodRequest classes
ASP.NET “Atlas” Web Services Bridge
Access to ASP.NET-hosted and serviced components
ASMX and WCF services, .NET objects, ASP.NET page-level
services
Automatic client proxy generation
<script src=“MyService.asmx/js”></script>
<script>
function onLoad() {
MyService.GetItemsByName(Text1.value, onComplete);
}

function onComplete(results) {
$(‘ResultsDataSource’).set_data(results);
}
</script>
14
“Atlas” Server Controls
Wrap “Atlas” UI, client and server-side
behavior
Extends ASP.NET control model to “Atlas”
Server-side programmability for
“Atlas” declarative script - *.aspx.script
Client-side bindings, actions, templates
ASP.NET core controls will take advantage
of “Atlas”
<atlas:TextBox
ID=“Text1”
AutoCompletionServiceUrl=“myService.asmx"
AutoCompletionServiceMethod="GetCompletionList“
AutoCompletionMinimumPrefixLength="1"
runat="server" />

PRS420 ASP.NET: Future Directions for Developing Rich Web Applications with Atlas 15
(Part 2)
ASP.NET “Atlas” Demos

MSN Hotmail
A Simple “Atlas” Application

16
Windows Presentation
Foundation

17
Windows Presentation
Foundation

BUILD THE APPLICATIONS YOU


ALWAYS DREAMED OF

18
The WPF Approach
Unified approach to UI, Documents, and
Media
Integrated development and experiences

New Windows Infrastructure


Retained graphics, vector based engine
Built on modern display hardware (D3D)
Modern development framework and patterns

Designers and Tools Matter


Bringing designers into the process
Declarative programming models for toolablity and
flexibility

19
WPF Capabilities

Document User Interface Services


Services
XPS Documents Application Services Controls
Databindin
Packaging Deployment g
Layout
Services Services

Media Integration Layer Base Services

Imaging 2D Audio XAML


Text
Effects 3D Video Accessibility

Animation Input & Eventing

Composition Engine Property System

PRS305 WPF: A Lap around the Windows Presentation 20


Foundation
WPF Base Services
Base Services

XAML

Accessibility

Input & Eventing

Property System

C#
Button btnOk = new Button();
btnOk.Background = new
RadialGradientBrush(
XAML Colors.White, Colors.Blue);
<Button Name="btnOk">btnOk.Content = "Ok";
<Button.Background>
RadialGradient White BlueVB .NET
Dim btnOk As New Button
</Button.Background>
btnOk.Background = New
OK RadialGradientBrush(
</Button> Colors.White, Colors.Blue)
btnOk.Content = "Ok"
21
WPF: Media Integration
Layer Media Integration Layer

Imaging 2D Audio
Text
Effects 3D Video

Animation

Composition Engine

Visual Brushes – 2D on 3D
Vector Graphics
<Path
<VisualBrush x:Key="ContentOn3D" Stretch="Uniform" >
Data= "M 100,200
<VisualBrush.Visual> Media
C 100,25 400,350 400,175
<Button>OK</Button> <MediaElement
H 280"
</VisualBrush.Visual> Source=“video.wmv”
Stroke = "Red"
</VisualBrush> />
<!-- StrokeThickness="3"
Create 3D Model -->
...
/>
<DiffuseMaterial Brush="{StaticResource ContentOn3D}"/>
PRS309 WPF: Overview of Windows Vista Graphics
PRS325 WPF: Advanced Graphics (Part 1) – 2D, 3D, Text
PRS328 WPF: Advanced Graphics (Part 2) – Animations, Imaging, 22
Effects, Media
WPF: User Interface
Services User Interface Services

Application Services Controls


Databindin
Deployment g
Layout
Services

Layout & Databinding


<StackPanel>
<Label>Select A Customer</Label>
<ListBox
Name="myListBox"
Background="HoneyDew"
ItemsSource="{Binding
{StaticResource myDataSource}}"
</ListBox>
</StackPanel>

PRS314 WPF: Using Application Services


PRS317 WPF: Beautiful Code, Beautiful Design – Applications Your Designers Can
Work With
PRS324 WPF: Using Data in Your WPF Applications: XML, WCF, ADO.NET and More
PRS329 WPF: Building User Interface with Advanced Layout Technologies 23
PRS330 WPF: Creating Rich Content Experiences in Your Applications
WPF: Document Services
Document
Services
XPS Documents
Packaging
Services

Packaging Services
XpsDocument curDoc = new
XpsDocument(Package.Open("foo.xps"));
curDoc.SignDigitally(cert …);
curDoc.Close();

PRS330 WPF: Creating Rich Content Experiences in Your Applications


PRS333 WPF: Advances in Document Workflow – Securing, Viewing and Printing 24
Your Content
Windows Presentation
Foundation Demo
Allscripts Patient Monitor

25
“WPF/E”

26
“WPF/E”
Strategy
“WPF/E” is a subset runtime of WPF that’s
small, fast, and will run everywhere (e.g.,
Windows, Macintosh, Devices)
Focused on scenarios that would like the
Richness of WPF, but require more Reach
Implementation
Subset includes vector, image, video,
animation, text, controls
Considering out of scope
3D, Adaptive Documents, Extensibility, Hardware
Acceleration
Would like your feedback
No compilation required – WPF XAML+JScript
Hostable and programmable
ActiveX and Plug-ins for Browser Hosting
Native or ActiveX hosting for application scenarios 27
WPF/E Demo

WPF/E technology overview

28
Windows Presentation
Foundation Demo
3M Fire Prevention

29
Choosing the Right Technology
ASP.NET “Atlas”
Need the reach of DHTML, want application
level features
Direct 3D
3D centered technical applications, twitch
games
Windows Forms
Business applications across all versions of
Windows
Windows Presentation Foundation
Immersive Experiences, next generation
Windows applications
WPF/E 30
Presentation Technologies
Together
ASP.NET “Atlas” & “WPF/E”
ASP.NET “Atlas” will target the “WPF/E” runtime
“WPF/E” can be used as an ActiveX control or plugin on
HTML pages
WPF
“Web Browser Applications” can be hosted in browser or
frames (with partial trust)
WPF & Win32
WPF applications can host Win32 HWNDs
Win32 based application can host Avalon content
WPF & Windows Forms
WPF applications can host Windows Forms controls and
content
PRS313 WPF: Windows
Integrating withForms applications
Your Win32/MFC Application can host WPF controls and
PRS321 Windows Forms: Integrating Windows Forms and Windows Presentation 31
Foundation content
In Closing…
We are building platform
technologies that empower
developers to meet the demand for
richer user experiences
Broad number of alternatives for
building presentation solutions
We want to help you solve your critical
architectural and business problems
Opportunity for developers to
differentiate based on experience,
which can drive a new business cycle
Increased revenue, reduced cost,
increased user productivity 32
Presentation Platform @
PDC
45+ sessions at the PDC
Get Started
PRS305 WPF: A Lap Around Windows Presentation
Foundation
PRS312 ASP.NET: Future Directions for Developing Rich Web
Applications with Atlas (Part 1)
Go Deep
ASP.NET
Direct 3D
Windows Forms
Windows Presentation Foundation
Windows Vista
See Case Studies at lunch
Find us here at the PDC:
Presentation Track Lounge
30+ Hands on Labs
Ask the Experts on Thursday night
http://msdn.microsoft.com 33
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Das könnte Ihnen auch gefallen