160 likes | 337 Views
Introduction to Avalon. Mike Taulty Microsoft Ltd mtaulty@microsoft.com http://mtaulty.com. What’s WinFX?. Managed API for the Windows platform Extends the .NET Framework V2.0 Two primary components “Avalon” and “Indigo” First ships at the time of Windows Vista (2006)
E N D
Introduction to Avalon Mike Taulty Microsoft Ltd mtaulty@microsoft.com http://mtaulty.com
What’s WinFX? • Managed API for the Windows platform • Extends the .NET Framework V2.0 • Two primary components • “Avalon” and “Indigo” • First ships at the time of Windows Vista (2006) • Windows XP, 2003 and Vista • Beta 1 slated for 3rd August this year, preview available
What’s Avalon? • Avalon is the codename for the next generation presentation subsystem for Windows Enables developers and designers to create visually stunning user interfaces
DirectX HTML HTML GDI+ Win Forms Word GDI Web Forms PDF MFC VB Forms Media Player Avalon: Programming Model Unification • Avalon’s new presentation technology unifies multiple programming models Unified Avalon API Documents User Interface Media
Avalon: Common Design Language • Avalon’s declarative design model links designers and developers
? Avalon: Using the hardware • Avalon’s vector based composition engine uses the PC’s graphics power
Avalon: Windows or Web? • Avalon applications are delivered securely either stand-alone or hosted in a browser ?
Direct 3D USER32 Avalon Architectural Sketch PresentationFramework PresentationCore Composition Engine
<Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 Declarative Programming with “XAML” • “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
Compile and Run Load, Parse, Display 0101010 0101010 BAML Parse Load, Display <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; XAML or Code?
Class Compile and Run Partial Class Public Button b1; Public Button b2; Load (“My.Baml”) 0101010 0101010 My.Baml <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; Parse & Generate XAML or Code? “Code Behind”
What have we seen? • Code v XAML • Drawing • Painting • Controls • Layout • Styling • Databinding Deployment Text Documents Video Applications
Avalon 1.0 Target Scenarios • Avalon is the future of Windows presentation technology • Recommended Avalon 1.0 usage • Web sites that want to push the limits of user experiences • Windows applications with complex data visualization scenarios • Windows Forms • the best solution for mainstream Windows apps • DirectX • the best solution for games and intensive graphics • ASP.NET • the best solution for server-side “reach” apps
Where next? • Download Visual Studio 2005 Beta 2 • Download WinFX Beta 1 Release Candidate for WinFX • Visit the Windows Vista Developer Center • Start to think about what you can do with user interfaces powered by Avalon