Kevin Wonus Developer Agilex 6/21/2012 - PowerPoint PPT Presentation

barny
kevin wonus developer agilex 6 21 2012 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Kevin Wonus Developer Agilex 6/21/2012 PowerPoint Presentation
Download Presentation
Kevin Wonus Developer Agilex 6/21/2012

play fullscreen
1 / 24
Download Presentation
Kevin Wonus Developer Agilex 6/21/2012
134 Views
Download Presentation

Kevin Wonus Developer Agilex 6/21/2012

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. XAML: WPF, Silverlight, and the future of Windows Kevin Wonus Developer Agilex 6/21/2012

  2. Today’s Agenda Background Info Overview of technologies surrounding XAML XAML Capabilities & Constraints The XAML Ecosystem WPF Demo Silverlight Demo Discussion Questions

  3. 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

  4. My Personal Research & Development

  5. Biases

  6. Platform Portability Matrix

  7. Platform Portability with C# vs. Technologies

  8. Platform Constraints of XAML

  9. 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)

  10. 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)

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. Tools support for WPF, Silverlight, & Metro

  19. 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!

  20. 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

  21. 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

  22. 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

  23. Questions

  24. XAML: WPF, Silverlight, and the future of Windows Kevin Wonus Developer Agilex 6/21/2012