Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "XAML: WPF, Silverlight, and the future of Windows Kevin Wonus Developer Agilex 6/21/2012."— 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 Page 2

3 About Me Page 3 A Brief Bio 1984-1990Government Consulting 1990-1995Medical device industry (Cardiac monitoring) 1995-2009Commercial & Embedded Product development 2009-nowGovernment Consulting 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 Page 4 My Top SitesProduct(s) PotatoVision.comLynx [open source: PHP, Flash, JavaScript] Captavate.comReflection [XAML/WPF, C#] TrustedSound.comBaptist Church Directory [PHP, XML, XSLT] ReceivedText.comSDK for KJV bible [C++] RTBible.comKJV software for Mac [C++ & Qt Framework] AVBible.netKJV software for Windows [Delphi/Pascal, C++]

5 Biases Page 5 My Biases all code should be written with portability considerations I prefer C++ over Java I prefer C# over Java I prefer App development over Web development (one reason I like XAML) I abhor VB I prefer VB over JavaScript ;>)

6 Platform Portability Matrix Page 6 OS C++ (limitations)C# (limitations) Java VB (limitations) Pascal XP  (.Net)  Vista  (.Net)  Windows 7  (.Net)  Windows 8 Desktop  (.Net)  Windows 8 Metro  (WinRT)  Windows Embedded SE  (.Net)  Windows Embedded CE  (CF)   Windows Mobile  (CF)   Windows Phone 7  (Silverlight)   Linux  (Mono)  Mac (PowerPC)  (Mono)  Mac (Intel)  (Mono)  iOS  (Xamarin)  Android  (JNI, ADK)  (Xamarin) 

7 Platform Portability with C# vs. Technologies Page 7 OS with C# supportWinFormsXAMLWPFSilverlightMetro XP  Vista  Windows 7  Windows 8 Desktop  - Windows 8 Metro (WinRT)  Windows Embedded Standard (SE)  V.Next Windows Embedded Compact (CE)  Windows Mobile  Windows Phone 7  Linux  Mac (PowerPC)  Mac (Intel)  iOS  Android 

8 Platform Constraints of XAML Page 8 OSXAMLWPFSilverlightMetro XP  Vista  Windows 7  Windows 8 Desktop  - Windows 8 Metro (WinRT)  Windows Embedded Standard  V.Next Windows Phone 7  Mac (Intel)  XAML Development constrains your development targets to almost exclusively Microsoft platforms WPF, Silverlight, and Metro each represents a distinct dialect of XAML and distinct namespace/API When developing XAML applications, code-reuse is limited to the Model of the MVC pattern For maximum portability, consider XAML to be your View and separate Controller logic from Model logic For maximum breadth, consider C# and/or C++ for your model implementation Dot-Net interop with Java should be limited to calls to JSP services (direct Java interop is painful!)

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

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

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

12 Why XAML Page 12

13 Quick look at Windows Presentation Foundation (WPF) Full Capabilities of.NET Resolution-independent API High-DPI capabilities Hardware accelerated No sandboxing Garbage-Collected Memory Near-Native Execution Not supported on Metro Page 13.NET Framework WPF Windows Presentation Foundation WCF Windows Communications Foundation WWF Windows Workflow Foundation LINQ Language Integrated Query

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

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

16 Silverlight … What is it NOT? Silverlight is not Multi-platform in the traditional sense Silverlight is cross-platform: Mac & Windows, (but not Metro) Silverlight also runs on Phone 7, but with YAXD Desktop Silverlight differs with Silverlight for WPF Future of Silverlight is in serious question Windows Metro does not support Silverlight Windows Phone will likely dump Silverlight (when it becomes WinRT/WOA-based) History shows a trend here: What happened to the “Compact Framework” for Windows Mobile? WPF will not run on Metro YAXD = Yet Another XAML Dialect Page 16

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

18 Page 18 Separation of UI from processing logic Engineering Functional Capabilities Deployment, function, data connection and integrity, IT process, security Design User Experience Look, behavior, data visualization, usability, brand impact Facilitates collaborative development Across disciplines Across teams Across security boundaries

19 Tools support for WPF, Silverlight, & Metro Page 19 ToolWPFSilverlightMetro Visual Studio 2008 3.0  Expression Blend 3 Visual Studio 2010 4.0  Expression Blend 4 Visual Studio 2012 4.55.0 Expression Blend 5

20 Microsoft Expression Blend to optimize UX Page 20 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!

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

22 Summary The future of Windows (aka WinRT / Win8 Metro) is: 1.XAML with C#, C++, VB, et al … 2.HTML with JavaScript 3.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 Page 22

23 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 detailed documentation 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. detaileddocumentationsome new features http://blogs.msdn.com/b/daviwil/archive/2009/05/25/a-custom-preprocessor-for-sharing-xaml-between-silverlight-and-wpf.aspx Page 23

24 Questions Page 24

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


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

Similar presentations


Ads by Google