Cross platform WPF


Haha thank you @0vermind for your support! It really means a lot. FWIW, I am running weekly vote reports on that idea and a few others. You can see them here:

Speaking of the CEO, I am actually sending a kind, weekly ping (tied to these very reports) to Mr. Nadella (and the Visual Studio and Windows Platform handles), reporting the total vote count from the cumulative votes for the ubiquitous .NET client application model. If you would like to show your support, please feel free to like/retweet. The latest one (as of this morning) can be found here:

FWIW, as of this morning there are currently 24,020 votes identified from 9 different votes/suggestions that are asking for a ubiquitous .NET client application development model offering.

Thank you again for your kind words and support!


Perspex seems promising in architecture and features implemented and the road ahead.

I think an active community around such open source projects can easily solve these problems for cross platform development.


I see the reason it cant be done posted over and over that its heavily tied into directx.
This is confusing to me, If a video game can be modular enough to run on both OpenGL and DirectX why cant something as simple as (relatively speaking) part of .net be able to do the same.


Because you’re operating at the wrong level.

When games can use both engines, it’s seamless (mostly) for the player.

However, the developer is going to have to put extra effort to make such a thing possible. Mostly this has to do with how the different platforms approach certain things; say, one uses floats for positions, and the other doubles, or in one you move the world, and the other the camera. There’s some overlap, and some helper libraries to smooth over certain things, but still some differences.

So what you’re wanting (and what’s needed, honestly) is a player-level api, when you’re actually working at the developer level.


With these pieces:

  • Microsoft is acquiring Xamarin
  • Xamarin releasing Skia bindings with SkiaSharp
  • Skia being cross platform BSD licensed and maintained by Google on most platforms as it’s the base for Google Chrome

All this adds up to a cross platform WPF framework being possible.

The people behind Perspex are currently using Skia for part of the cross platform implementation. You can have a look at AvalonStudio as an example of what is already possible to build with Perspex.

Are there any other implementations progressing towards full x-plat?


I heard a rumor probably 6mo ago that Microsoft was working on wpf again. After acquiring Xamarin I agree that it’s nearly an inevitable conclusion that they are going to make a cross platform wpf now. I wouldn’t be surprised it if was a new incarnation though, or perhaps an implementation of their windows app platform.

In fact that would be my prediction: they will implement windows universal app implementations on other platforms and your windows universal apps will run on other desktops and other mobile os’s as well.

I would expect about a year before we hear about anything definitive.


@DragonSpark nice to see a straight thinking person once in a while. We really need to be talking on cross-platforming those features that WPF brought, The revolutionary dev productivity and cost of development and support, stability, flexibility etc. Tectonic shift that was achieved by Microsoft… People who are judging it having few years experience simply cannot appreciate what had happened.

We need to cross-platform XAML, binding, custom controls, styling. all in one box and backed by .net core or any other .net x-platform implementation… That sort of things.

The recent software revolution which is now shaping the development world is exactly as any revolution. The unwashed masses hung the hated ruler on the nearest lamppost only to find out next morning their world is still dark. So they declare unwashiness is a new clean and darknes is light.

if Microsoft wont find a way to quickly regain the influence in dev world - the tomorrow is bleak for everyone. we are (the developers) back in square 1. what ibm pc achieved over os/360 will be finally erased.

Any plan to open sourcing Silveright?

Dang… i stopped receiving email notifications to this thread for some reason. Thanks for the mention @maxima120 to bring me back to speed and for the kind words.

I, too, have been following the awesome news of Xamarin’s acquisition. The stars have finally aligned and @justinmchase you are really onto it. In fact, if an announcement is not made in this year’s //build or Evolve along such lines it will be a disappointment at this point. I think Mr. Nadella’s mark is FINALLY being placed on this organization and we are starting to move in the right direction once again. Question marks are starting to turn into exclamation marks and that is exactly what you want to see.

I am really excited about the new developments and I am looking forward to what transpires. However, we are not out of the woods yet. Remember, there are FOUR major platforms, and the Xamarin acquisition will make it possible to reach only three of them. There is still a massive question mark around bringing .NET to the web, which makes this vote all the more important. The good news is that this vote was marked as Under Review a day before the Xamarin announcement, which means someone on the Visual Studio team is taking a look into it. So, again… looking forward to //build and Evolve! :smiley:

But yeah… if we’re getting into predictions, I am pretty sure we’re going to get a model that is cross-platform, with a stronger Xaml model and is probably loosely based on both UWP and WPF. This is what will be announced in //build/Evolve. Of course, I also thought they were going to announce an HTML5-compliant Silverlight at Mix’11, so don’t take my trusted, infallible word for it, LOL!

Finally @maxima120 (and everyone who cares about Xaml), there is (finally) a CoreFX GitHub issue that has been opened to port System.Xaml to .NET Core. Please join that conversation and let your voices be heard so we get it right this time and avoid another UWP Xaml cluster/disaster. :stuck_out_tongue:


yes saw it. thanks for doing this job by the way (seeding the optimism and connecting people with internet resources) :slight_smile:


Haha… thanks. To be honest I didn’t get revved about all of this until I learned that the UWP Xaml was basically the same after 3 years of the same mediocrity. That’s when I knew something had to be done and I started making key votes, starting almost a year ago with this one.

The other factor was being able to succinctly and accurately articulate the problem. I of course am from the Silverlight tradition, WPF’s little brother. Everyone LOVED Silverlight but couldn’t say why – myself included. Even Microsoft itself didn’t seem to quite understand it when they told 16,000 votes (!) to go use HTML5 instead. There is a reason why Silverlight was so great and that is that it ultimately saved developers (and the organizations that employed them) time (and therefore money) by allowing them to take a .NET model to other non-Windows platforms. And I think we’ve done a better job in explaining this and offering the business case for why it was successful and should be brought back in a way that meets today’s market. Of course, having NodeJS there to make the case for us helps, too. :wink:

But yeah… I am glad where things are now. I think developers are becoming better at voicing their opinions (and votes on UserVoice) and Microsoft is doing a better job of listening there, on here, and of course on GitHub. Everyone is winning these days it seems. :smiley:


Saying that .NET Core won’t sport a fully fledged GUI framework is like saying that you’re Conan and want to have your balls cut.


what’s the big deal @SuperJMN? The CLI has been deemed good enough for you… it should be good enough for your customers, too. #passitforward :wink: :wink: :wink:


I don’t know how others work, but my company has just chosen web applications instead native ones (that are far more appropriate for the nature of the task to do). This time it was A BIG customer that uses OSX and only OSX.

Another missed opportunity.


The sad/funny/interesting thing is that this is happening out there, but we’re only hearing it here from developers that:

  1. Even know about this forum in the first place
  2. Are exeperienced enough to know the difference between web development and native development
  3. Are passionate/care enough to take a second to even mention their experiences here

Most developers don’t care or know the difference between .NET and web development. They’ll gladly take a paycheck to learn something new (or anything at all). Those who have seen both sides of the fence know where the quality developer experience lies. Unfortunately that crowd has not been abundant and has been thinning ever since Silverlight. The constant churn, confusion, and missteps such as the recent .NET Core and project.json debacles do not help adoption (or retention) at all.


Just ran into this awesome WPF alternative called “Avalonia”:

It uses a single UI implementation and is cross platform using Direct2D on Windows and Mono.Cecil for others platforms. It runs faster then WPF from what I can tell and supports XAML in a VS ext.

They plan on supporting .NET Core and if anyone is looking to support a WPF alternative this would be it!


There is a cross platform version of WPF. It’s called Silverlight. Unfortunately, it has lost favour recently.


Avalonia Alpha 4
(formerly Perspex, now featuring a much better name :smile:)


Silverlight … has lost favour recently.

Funny :slight_smile:


Funny :slight_smile:

Yet based on the glacial pace the UWP group has been moving on key features/improvements to bring it back to Silverlight parity… kind of true. :stuck_out_tongue:


That doesn’t give any notion to having a Web based or Linux based solution…

.NET Foundation Website | Blog | Projects | Code of Conduct