Patrick Malone Senior Developer Evangelist Microsoft Hellas
Software Development Trends Differentiated Differentiated User Experience User Experience Business Process Business Process Digital Identity Digital Identity Modeling Modeling Management Management Service-Oriented Service Oriented Development Development
WinFX The Managed Code The Managed Code Programming Model Programming Model for Windows for Windows
Windows Presentation Foundation Unified framework for building Unified framework for building next gen user experiences with next gen user experiences with UI, media and documents UI, media and documents
“ InfoCard ” Technology that simplifies Technology that simplifies and improves the safety of and improves the safety of online login and authentication online login and authentication
Windows Communication Foundation Unified framework for Unified framework for rapidly building rapidly building service service-oriented applications oriented applications
Windows Workflow Foundation Programming model, engine Programming model, engine and tools for building and tools for building workflow workflow-enabled applications enabled applications
Wi Wind ndow ows s Presen Presentation tation Fo Foun undation dation
What Is User Experience?
User Experience in Software? User Experience in Software? Windows Vista Windows Vista Office 2007 Office 2007 Ease o Ea e of U f Use Ri Richnes ess Measuring UX ROI (end user behaviors / benefits) Learn ability Graphics & Media Performance Success Data Visualization Productivity Reliability Higher Fidelity Information Retention Security Comprehension Globalization Conversion Optimized form factors Accessibility Satisfaction Legibility / Readability Excitement Hardware & Printing Repeat Use Relevance / Contextualization Integration
User Experience Challenges Requirement Guidelines Requirement Guidelines ROI Metrics Emerging ROI Metrics Emerging Pattern ROI Metrics Pattern ROI Metrics UX Unrecognized As UX Unrecognized As Development Complexity Development Complexity Top Top-Level Requirement Level Requirement Is A Central Challenge Is A Central Challenge
Key Scenarios Next Next xt xt-Gen Gen n Wi n Wi Wind Wind ndow ndow ows Sma ows Sma Smart Smart rt Cl rt Cl Client a Client a t app t app pplicat pplicat ation ation ons: ons: • Installed desktop applications • Browser applications (XAML Browser Application) • Common code base and flexible deployment
Windows Presentation Foundation A p A p produ produ roducti roducti tive tive ve, ve, , uni , uni unified unified d ap d ap approach approach proach to U proach to U to UI, to UI, I, m I, m media media • Deliver Del er In Innovative U e User er In Inter erfa faces es and d an an and d d doc d doc ocumen ocumen uments to uments to ts to d ts to d delive delive liver un liver un r unmat r unmat matched matched ed UX ed UX UX UX • Increa In ease Devel e Develope per-Des Designer er Pr Produ ductivity • Achieve eve Fl Flex exibl ble A e App pplication Depl Deploymen ent • Lever everage Ex e Existing Code de Base and S d Skills Set et Super Super uperior UX wit uperior UX wit with with h UI, h UI, , Me , Me Medi Medi dia dia a & Docum a & Docum ument ument nts nts
Introducing WPF
WPF Architecture DOCUMENT T SERVICES USER INTE TERFACE SERVICES Windows Presentation Foundation Application XPS Documents Controls Services Databinding Deployment Packaging Services Layout Services XPS Viewer ewer MEDIA INTE TEGRATI ATION LAYE AYER BAS ASE SERVI VICES Imaging 2D Audio XAML XPS Text Effects 3D Video Accessibility Animation Input & Eventing Composition Engine Property System Unmanaged Managed Input / Desktop Windows Manager Property Eventing Engine System Composition Media Integration Layer Engine Windows Media DirectX Foundation .NET Framework 2.0 Windows Vista Display Driver (LDDM) Print Spooler
Designer-Developer Productivity • Micr Micr crosoft crosoft ft Tools for D ft Tools for D r Des r Des esigner & esigner & er & er & Dev Dev evel evel elopers elopers pers pers With With th XAML d th XAML d designe designe gners & gners & & & • Decl Decl eclar eclar arat arat ative ative e Pro e Pro Progra Progra ramm ramm mming thro mming thro roug roug ugh XAM ugh XAM XAML XAML deve deve velop velop opers can opers can an streaml an streaml amline amline ne ne • Third Third rd Pa rd Pa Part Part rty Tools (e. rty Tools (e. e.g. A e.g. A . Aur . Aur urora urora ra by ra by by by the their c the their c collab collab abor abor orat orat ation ation on on Mobi Mobi bifo bifo form form rm, Z rm, Z , ZAM 3D , ZAM 3D 3D by 3D by by El by El Elect Elect ectri ectri ric Rai ric Rai c Rain) c Rain) Desi Desi sign sign gners gners rs desi rs desi sign sign gn gn Developers Developers rs add busi rs add busi siness l siness l ss logi ss logi gic gic
Declarative Programming Through XAML XAML = XAML = ML = E ML = E Ext Ext xtensible App xtensible App pplicat pplicat ation Ma ation Ma n Mark n Mark rkup Langu rkup Langu up Languag up Languag age age • Easily toolable, declarative markup • Code and content are separate • Can be rendered in the browser / standalone application XAM AML C# C# VB.NET .NET <Bu <Button n Width=" h="100" 100"> > OK Bu Button n b1 1 = new new Bu Button( n(); Dim m b1 As New New Bu Button <Button.Ba <Bu n.Background nd> b1.C 1.Cont ntent ent = = "OK"; b1.C 1.Cont ntent ent = = "OK" Li Light htBl Blue b1.Ba 1.Background nd = = new new b1.Ba 1.Background nd = = Ne New w _ </But </ Button.Bac n.Backgr ground und> SolidColorBr Brus ush( h(Colors.Li s.Light ghtBl Blue) ue); SolidColorBr Brus ush( h(Colors.Li s.Light ghtBl Blue) ue) </Bu </Button> n> b1.W 1.Width = = 100; 100; b1.W 1.Width = = 100 100
Developer-Designer Collaboration
Controls, Templates, Styles & Resources, Layouts, Animation Ani Animati tion, Tri , Trigg ggers, rs, Ti Timelines < St StackPanel el> Templated <St StackPanel el.T .Tri riggers> ers> <EventTrigger RoutedEvent=“Button.Click"> Button <EventTri rigger.A er.Actions> <Beg eginSt Storyboard> <BeginSt Storyboard.S .Story ryboard rd> <St Storyboard> UI S I Serv rvices <ColorAnimation To="Yellow" Duration="0:0:0.5“ Storyboard.T .Target etName="T "TheB eBrush sh" " • Tem empl plates es Storyboard.T .Target etPro ropert erty="C "Color" r" /> /> • Layout <DoubleA eAnimation To="45" Dura ration="0 "0:0:2" Storyboard.T .Target etName="L "Lower erEllipseT seTra ransf sform" " • Controls Library Storyboard.T .Target etPro ropert erty="A "Angle" e" /> ... ... • Styles es and Re d Resources es </St /StackPanel el.T .Tri riggers ers> • Annotation … remainder of contents of StackPanel, including x:Name'd TheBrush and LowerEllipseTransform … </St /StackPanel el>
Data ata Bindi inding ng Bindi ding Target Bindi ding Sour urce Layout & Da Databinding <StackPanel el> <La Label el>Sel elec ect A Cu Customer mer</Label el> De Depend De Depend endenc endenc ency Objec ency Objec ect ect Objec Objec ect ect <Li ListBo Box Name= e="my myLi ListBo Box" On OneWa eWay Ba Backgrou ound="Honey eyDe Dew" Depend De endenc ency Proper erty TwoWa Way Items emsSource= e="{Bi Binding Proper erty On OneWa eWayToSo Sourc rce {StaticRes esou ource my myDataSource}} e}}" </Li ListBo Box> </StackPanel el> • UI I ca can be bound to to CLR o R objects a cts and XML • Dependency p cy pro roperti rties ca s can a also b be b bound to to AD ADO.NE .NET a and o objects cts a associ ssociate ted with th Web Serv Service ces a s and Web pro roperti rties • Sort, f So rt, filte ter, a r, and g gro roup vi views ca s can b be g genera rate ted o on to top o of th the d data • Data Da ta te templates c s can be applied to to data ta
2D Graphics, 3D Graphics, Imaging 3D Graphics 3D Graphics
ClearType & Antialiasing Sub Sub-pixel positioning & natural widths pixel positioning & natural widths
New Fonts For WPF In Vista
Recommend
More recommend