Silverlight Transitions Continue for Developers and Microsoft

Metro fundamentals for Silverlight developers as Microsoft continues its shift to HTML/JavaScript and Windows 8.

If you haven't heard much about Silverlight lately, a few things have popped up in recent weeks that shed some light on Microsoft's vision for the technology and how to move forward.

VSM contributor Michael Crump, a Silverlight MVP and Telerik XAML evangelist, participated in a Webinar on the last week that covers "10 Things Silverlight Developers Should Know about Windows 8." Crump noted at the start of his talk, which lasts about an hour, that he frequently runs into people, who say, "I'm a Silverlight developer, now what?"

Silverlight developers can still build and deploy apps on Windows 8 in desktop mode. However, Silverlight is not supported in Windows 8 Metro mode, where apps run on top of the new Windows Runtime (WinRT). Crump offers a useful technical comparison of Silverlight and Metro development, and explains in specific terms how developers can use their XAML skills and familiarity with Silverlight to build Metro-style applications.

Most developers are aware of the high level differences between the technologies, but they may not have a handle on the intricacies when it comes to developing real world applications. The basics in a nutshell: Silverlight developers can use multiple versions of Visual Studio/.NET Framework (.NET 2.0 to .NET 4.5) and program in C#, Visual Basic and XAML. Metro development requires Visual Studio 2012/.NET 4.5 and Windows 8, and supports a wider range of languages, including C#, VB, C++, XAML, HTML and JavaScript. Metro development also requires Silverlight 5 developers to move beyond XNA, which is not supported, but they can use DirectX, notes Crump.

One key difference that Crump points out in his talk is that Silverlight was built for a mouse and keyboard (Chrome). Metro apps are primarily based on touch input (no Chrome), and according to Crump, that's why Microsoft is telling Metro developers to focus on "content over Chrome." That's just the surface of what he delves into, which is useful information that may help clear up questions that some developers have about the differences between Silverlight and Metro development. The 10 areas he covers in the Webinar include: fundamentals, application lifecycle, XML/code namespaces, WebRequest (async, await and Tasks <T>), isolated storage and file I/O, navigation ("rethink Uri"), controls (some are missing in Metro), animations, freebies and monetizing. Crump's March VSM article, "Porting a Silverlight App to a Metro-style App," addresses similar concerns about the compatibility of Silverlight code with Metro-style applications.

Many developers have been frustrated by Microsoft's communication about the future of Silverlight. In late June, IT writer Tim Anderson spoke with Microsoft Corporate Vice President Scott Guthrie (the former head of the Silverlight development team, who is now in charge of the Windows Azure dev platform and ASP.NET) and wrote up highlights of the conversation in his blog, "Microsoft's Scott Guthrie on what has happened to Silverlight." Among the points of interest is Guthrie's explanation for why Microsoft decided to use HTML in place of Silverlight for the UI of the latest Windows Azure admin portal. Anderson also notes the recent support of HTML applications in Visual Studio 2012 LightSwitch, a template-based dev environment, which initially only generated Silverlight apps.

About the Author

Kathleen Richards is the editor of and executive editor of Visual Studio Magazine.

comments powered by Disqus


  • VS Code Java Team Details 5 Best Dev Practices

    Microsoft's Visual Studio Code team for Java development added a new Coding Pack for Java installer and detailed best practices for setting up a development environment.

  • Binary Classification Using PyTorch: Defining a Network

    Dr. James McCaffrey of Microsoft Research tackles how to define a network in the second of a series of four articles that present a complete end-to-end production-quality example of binary classification using a PyTorch neural network, including a full Python code sample and data files.

  • Blazor Debugging Boosted in .NET 5 RC 2

    In highlighting updates to ASP.NET Core in the just-launched second and final Release Candidate of .NET 5, Microsoft pointed out better debugging for Blazor, the red-hot project that allows for C# coding of web projects.

  • Block Stack

    Final Go-Live .NET 5 Release Candidate Ships Ahead of Nov. 10 Debut

    Having been deemed "feature complete" and "near final" and "go live" for some time now, .NET 5 is out in a second and final Release Candidate, scheduled for a Nov. 10 debut during .NET Conf 2020.

  • Edge Browser Dev Tools for VS Code Now Generally Available

    Microsoft has moved its Edge browser development tools for Visual Studio Code from preview to general availability, providing in-editor web site debugging and other functionality.

Upcoming Events