Silverlight Bridge To UWP Apps
Silverlight Bridge To UWP Apps
Tuesday, 22 September 2015

Part of Microsoft's strategy to make Universal Windows Platform apps appealing to us - universally appealing I suppose - is creating "bridges" from old technologies to the new. Who would have guessed that a Silverlight bridge would become available? It has, but only in beta and not from Microsoft. 

windowdevs

 

For reasons that we can only guess, Microsoft hasn't bothered with creating a bridge from Windows Phone 8 Silverlight apps to UWP (Universal Windows Platform), but Mobilize.NET has and Microsoft is promoting it. 

According to Mobilize.NET, about half of all Windows Phone apps were written using Silverlight and, while they are supposed to be supported on Windows 10 mobile, the writing is on the wall and they are clearly not the way of the future. Until now Microsoft has issued guidelines and written articles on how to convert a Silverlight app to WinRT. The problem is, however, that there are lots of facilities that Silverlight apps can make use of that aren't yet supported in WinRT. This only goes to emphasize how mature Silverlight was, how much a work in progress WinRT is, and how nuts it was to abandon it and start over, see Dumping .NET - Microsoft's Madness and Silverlight is dead, long live Silverlight?.

Until Mobilize.NET came along your only choices were to run your Silverlight app under Window 10 Mobile and hope that it keeps working and being supported, or to do a manual conversion. With Mobilize.NET Silverlight bridge you can automate a large part of the conversion process. It is an extension to Visual Studio and it will take an existing project and output a new UWP project with converted C# and XAML files. 

 

windowsphonesdk

 

Automatic conversion is nearly always imperfect and the current preview claims to map the 700 most used APIs and to convert manifests, NuGet package references and cope with async/await changes. More API mappings are planned for future versions - 1200 should be complete by November.  All of the mappings have been open sourced and are available in a GitHub repository which means you can help by extending them.

Notice that while the mappings are open source the actual bridge isn't. It is currently free to download in return for an email address and some additional information. 

Of course, the attraction of a UWP app is that it should run on desktops, tablets, Xbox, phone and, in a limited way, even the Raspberry Pi.  

This raises the question of what support there might be for Silverlight desktop apps, but as these are close to Phone apps some of the mappings might work.

The big problem is that at the moment there still doesn't seem to be enough incentive to make a conversion. Existing Silverlight Phone apps should run on Windows mobile 10 and unless the market gets bigger there isn't a compelling reason to update them. In addition WinRT and UWP are still in a rudimentary state of development and, with there being little chance of  a Windows 10 Phone taking a big market share in the very near future, there isn't much to target.

The exception of course is the slow rise of the Windows 10 tablet and the Slate. It might be worth the effort to have an app that runs on Windows tablets even if it isn't backwards compatible with earlier versions of Windows. 

The situation with Windows 10 development is looking better but it still isn't a "must do". 

 

windowdevs

Banner


TypeScript adds Dynamic Import Expressions
04/07/2017

There's a new version of TypeScript with support for dynamic import expressions, string enums, and weak type detection. 



Babylon.js 3 Adds Support For WebGL 2
13/07/2017

There's an updated version of Babylon.js, Microsoft's open source JavaScript framework for building 3D games. The new release adds support for WebGL 2.


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Tuesday, 22 September 2015 )
 
 

   
Banner
Banner
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.