The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
OP: A couple years ago I wrote a game in WPF and Silverlight (in parellel). The WPF version works fine, but it used one feature of WPF never implemented in Silverlight
Stephen Gonzalez wrote:
...and a couple of years later you will be asking the question again.
ms is trying to force the web onto it's [buggy] platform, even going so far as to ramp up their FUD about anything that's not w10/edge/uwp/windows store.
Trying to force pc's onto a phone platform when their own phone failed in the market,
trying to force everything through their store, so they can monetise from YOUR work (to pay for w10),
and once again tellin us the next best thing is just around the corner
Their latest act of kindness was a patch for older unsupported systems against the ransomware trojans, or was it really because they had just done such a piss poor job even they couldn't leave it unfixed?
uwp will improve cosmetically, behind the scenes though it'll still be a cpu/memory hog feature poor hack (and because have to use their store itself in effect a ransomware on your apps and your machine) that offers no advantage over lighter better current well supported platforms.
I would caution against uwp because:
1. it's still not finished - missing features - but you also expect some current features to go away,
2. it's buggy as hell - even common apps like twitter fail regularly on anything beyond light usage,
3. ms will one day demand your first born plus a pound of flesh as payment
now that Silverlight is dead, I'd like to move it to some platform where I can finally put it on the web.
As someone who used to do WPF and Silverlight, your best bet is just moving to native web technologies and abandoning your investment in XAML. XAML has a future on the desktop, but not on the web.
And for that, I'd recommend KnockoutJS[^]. It's a small framework that adds data binding to your HTML. While it's not as popular as React, Angular, or Aurelia, Knockout has a smaller scope: data binding and HTML components. This makes it much, much simpler to learn than the big JS frameworks.
I gave a talk[^] about moving from Silverlight to KnockoutJS; I found the conversion was pleasant it turned out pretty good for my app.
While you won't be able to preserve your XAML, going with KnockoutJS + TypeScript is actually a great replacement for XAML + C# Silverlight. In many ways, it's actually better.
I'm no longer doing KnockoutJS these days -- I tend to use full frameworks like Angular or React -- but it's still a good option for porting XAML-with-bindings to the web.
With Silverlight's demise, I've settled on Unity 3D for cross platform games. It's a very different paradigm to Silverlight, but certainly for games it's more powerful. If you're intending on making more (i.e. new games) I'd definitely go with something like that. The HTML export is mind blowing. It's free, and there's a tonne of stuff online to get you up to speed.
If on the other hand you just want to port your old game with as little effort as possible then UWP is the obvious choice, as it's still XAML-driven. Yes, you might have to rewrite it again in a few years, but it's probably not that much effort each time.