240 likes | 400 Views
XAML: WPF, Silverlight, and the future of Windows . Kevin Wonus Developer Agilex 6/21/2012. Today’s Agenda. Background Info Overview of technologies surrounding XAML XAML Capabilities & Constraints The XAML Ecosystem WPF Demo Silverlight Demo Discussion Questions. About Me.
E N D
XAML: WPF, Silverlight, and the future of Windows Kevin Wonus Developer Agilex 6/21/2012
Today’s Agenda Background Info Overview of technologies surrounding XAML XAML Capabilities & Constraints The XAML Ecosystem WPF Demo Silverlight Demo Discussion Questions
About Me Commercial Products Relational Object Manager – Informix, 1995 Internet Resource Manager - Sequel Technology, 1998 Data Access Broker – Lineo, 2001 Master Network Controller – Spinoza, 2002 ProjectorNet – Spinoza (OEM product for InFocus), 2004 Shared Computer Toolkit – Microsoft, 2005 Windows Embedded Standard – Microsoft, 2007 Visualize – FiatLux Imaging, 2009
XAML Pros & Cons XAML Pros • One of two ways to create applications for WinRT/Metro (the other is HTML + Javascript) • Code-behind for XAML can be any of the .Net languages • C# • C++ • VB • IronPython • IronRuby • F# • Delphi (Pascal)
XAML Pros & Cons XAML Cons • Not Multi-Platform: Only targets Microsoft platforms • As a newish, niche platform, limited developers • And XAML implementations still have to be ported (each OS requires a distinct dialect of XAML) - XAML for WPF - XAML for Silverlight - XAML for Windows Phone 7 (a variant of Silverlight) - XAML for Windows Metro (XAML for WinRT) (Tags are similar, but each namespace is distinct)
Okay, so what is XAML anyway? XAML = XML Application Markup Language • XAML did not evolve into a UI presentation language - Can you spell HTML? • XAML is a presentation language - Unlike HTML: conceived & designed to craft rich on-the-metal UX • XAML has semantics for - Vector Graphics - Precise Resolution-Independent Layout - Animations - Dynamic content - Transparency and overlay of rich text and graphics - Common UI Controls - Media Integration for Video-streaming of DRM-supported codecs
Why XAML • Easy to Learn • Great Development Tools • Modern capabilities • Animations • Dynamic content • Ability to craft a media-rich EPG • Natural migration from other Microsoft technologies (ASP.Net, WinForms) • Unless you’re a JavaScript weenie … The way to craft applications for Windows 8 Metro
Quick look at Windows Presentation Foundation (WPF) .NET Framework LINQ Language Integrated Query WPF Windows PresentationFoundation WCF Windows CommunicationsFoundation WWF Windows WorkflowFoundation Full Capabilities of .NET Resolution-independent API High-DPI capabilities Hardware accelerated No sandboxing Garbage-Collected Memory Near-Native Execution Not supported on Metro
How is XAML different for Silverlight? • The Silverlight namespace/API bleeds into XAML • Silverlight expands targets to Intel-based Macs • Silverlight normally runs in a browser window • Silverlight is sandboxed to reduce malicious attacks • Silverlight is a subset of WPF • Unlike WPF, Silverlight has an anemic threading model • Silverlight is the basis for WP7 applications
How is XAML for Windows 8 Metro different? • The XAML for Metro is yet another dialect - similar to XAML for Silverlight • The WinRT API is supported on ARM tablets • While WinRT is sandboxed like Silverlight - The WinRT API is more similar to .NET than Silverlight
The ECO-System for XAML-Based Development • First-Class development tools from Microsoft • Visual Studio • Expression-Blend • Full Intellisense(code completion … even in raw XAML) • XAML dialects morph from target to target, but … • paradigm remains the same • Always the same tools • Porting from one dialect of XAML to another is straightforward • Ports to multiple targets can live with a single VS Solution
Separation of UI from processing logic DesignUser ExperienceLook, behavior, data visualization, usability, brand impact EngineeringFunctional CapabilitiesDeployment, function, data connection and integrity, IT process, security • Facilitates collaborative development • Across disciplines • Across teams • Across security boundaries
Microsoft Expression Blend to optimize UX Development Capabilities Jumpstart your XAML development by leveraging Microsoft Expression Blend to craft XAML and immediately discover the capabilities of the platform even before writing a single line of procedural code.. Rich UX Exceed user expectations with an immersive UI that leverages the full capabilities of the Windows platform: built-in hardware-accelerated graphics results in the delivery of high fidelity information for the optimum usability. End-User Satisfaction Drive end user satisfaction and customer loyalty with differentiated applications that are responsive , reliable, and cool!
Demos References: http://www.ebyte.it/library/docs/math05a/EllipsePerimeterApprox05.html http://iltc.wordpress.com/2008/10/08/wpf-elliptical-layout-control/ http://www.sharpgis.net/post/2011/09/15/WinRT-vs-Silverlight-Part-1-XML-Namespace.aspx Sources & Presentation at: http://TrustedSound.com/code
Summary The future of Windows (aka WinRT / Win8 Metro) is: XAML with C#, C++, VB, et al … <or> HTML with JavaScript Either of these will target Windows 8 Tablets (Intel & ARM) Microsoft’s story here is inclusion for: JavaScript developers with HTML5 Traditional (C#/C++/VB) developers with XAML Microsoft’s story here is exclusive of: Portability to other platforms (not even directly to WP7) Java Developers Adobe Flash Developers Long term platform-portable soutions would be better served by alternate technologies: jQuery taking to any back-end via AJAX/JSON/SOAP/WCF Even ASP.Net
Discussion Out of the “Horse’s Mouth” -- 25 May 2009 The incompatibility of XAML namespaces and available controls between Silverlight and WPF is a well-known problem. MSDN has some pretty detaileddocumentation on this issue. The Silverlight team has made some great efforts to improve on this in the Silverlight 3 Beta by introducing some new features that increase its compatibility with WPF. Nevertheless, there are still plenty of areas where platform inconsistencies stand in the way of having shared XAML markup and code between Silverlight and WPF. http://blogs.msdn.com/b/daviwil/archive/2009/05/25/a-custom-preprocessor-for-sharing-xaml-between-silverlight-and-wpf.aspx
XAML: WPF, Silverlight, and the future of Windows Kevin Wonus Developer Agilex 6/21/2012