Leaving Avalon for WPFLight
In 2013, I was faced with the decision of how to build an application that was to be on both Windows Desktop and OSX. Being both a C# developer and a JavaScript developer I could have easily gone the web style direction like most others I know would, but instead I decided to go for a C#/Xamarin approach. (Why I decided against the web is a post onto itself.) That did leave me still with a learning curve for UIKit on OSX, since Xamarin is designed with the idea that you write the business logic once but write the UI for each platform. While this makes sense and I generally agree with it, this time I didn't. Our app was designed to be more like an "app" in that we would want it to look nearly identical on both platforms. Just as importantly, I didn't have the time to learn UIKit.
Then I heard of MonoGame. MonoGame was a cross-platform implementation of the XNA Libraries. (For those who don't know, XNA is a game graphics library from Microsoft, kind of a managed way to use DirectX). I came up with the grand idea of writing the application using C#/Xamarin for the backend and using XNA/MonoGame for the UI. Issue was that XNA/MonoGame doesn't come with "controls." I'd have to create them from scratch.
Luckily I found an open source library that had already started down this very path. By the time I was done with it though, about the only things that were left of the original in my fork were basic concepts on how to do the hierarchy of drawing controls. I named my creation Avalon, after the code name for WPF. I had tried to get the company to release Avalon as an open source library, even going as far as registering a Twitter account. Sadly the closest I got was them thinking about doing a weird selling model.
Sadly near the end of 2013 I was laid off, killing the project. Being as no trademarks had been made on the name, I had very slowly started work on recreating the code, without the source code so I'd have no issues. Didn't get very far to be honest.
Then a few weeks ago a new open source project call WPFLight came to my attention. It was almost the same idea: UI concepts on top of XNA/MonoGame. It was way better than mine and used XAML files, making it easily familiar to developers.
And so I have decided to abandon Avalon. It was a sort of vaporware to begin with and now I've finally admitted it to myself. Going forward I plan to contribute and support WPFLight, and maybe use even use it. :)
Goodbye Avalon, you served me well. Hello WPFLight!
















