Silverlight Reborn? Check Out 'C#/XAML for HTML5'
Silverlight, the deprecated Web app development framework from Microsoft that leverages XAML and can be programmed in C#, enjoys a legion of devoted developers -- nearly as much as Visual Basic's vociferious supporters.
Thus, Microsoft's slow sunsetting of the technology -- it announced Silverlight 5's end of life in 2012 and will stop supporting it completely in 2021 -- resulted in much consternation from coders in the Microsoft ecosystem.
Now, to their rescue comes C#/XAML for HTML5 from Userware, which today announced its Silverlight-replacement project, also called CSHTML5, has reached release candidate status after a lengthy beta program.
The tool comes as a Visual Studio extension in the Visual Studio Marketplace, promising to create HTML5 apps using only C# and XAML -- or migrate existing Silverlight apps to the Web.
Until WebAssembly fully supported in the Web ecosystem, CSHTML5 might be seen as an alternative for .NET-centric developers.
"The feedback we had mainly is about how close to Silverlight the development experience is with CSHTML5. Our target audiences are both .NET developers looking to create (or port) Web apps using the languages they mastered over time, and companies that heavily invested in these technologies and would rather reuse everything they already built rather than start over again."
CSHTML5 is browser-based only, and Userware has no plans to take it to the mobile arena, à la what Facebook did in repurposing its React framework into React Native for building native iOS and Android apps. Leclercq told VSM that Xamarin already has that space covered in the .NET ecosystem.
What the company does plan on doing is releasing CSHTML5 in version 1.0 as it waits for WebAssembly to take hold and provide .NET coders with some kind of C# compiler -- expected toward the end of this year -- followed by a XAML compiler.
"We expect XAML might take longer, though, and that’s where C#/XAML for HTML5 shines," Leclercq said. "Developers will be able to take advantage of the powerful gain in performances provided by WebAssembly on C# files, and XAML files will be compiled by CSHTML5 until a XAML compiler for WebAssembly is released."
For now, Userware claims CSHTML5 can let developers keep up to 97 percent of their existing code when they port their existing Silverlight, Universal Windows Platform (UWP) and Windows Presentation Foundation (WPF) applications to the Web, effectively reducing to only 3 percent the amount of compatibility modifications required for a successful app migration.
"I think CSHTML5 could help enterprise developers find a way of developing Web apps differently, more efficiently, and in a more productive way in the .NET ecosystem," Leclercq said. "While the extension does not pretend to be the right answer for every developer, providing them with an alternative path of development opens up much more possibilities than they have at this time."
CSHTML5 now supports 99 percent of C# features, the company said, along with 75 percent of XAML and 55 percent of .NET Core. It comes in several editions, including a free one that lacks some functionality of the others. It works with Visual Studio 2012, 2013, 2015 and 2017 (this article earlier mistakenly said it was only available through the 2013 version, as its Web site had not yet been updated).
David Ramel is the editor of Visual Studio Magazine.