In August we teamed up with Devolutions for a Port Challenge: what does a real working app look like once it's been ported to Avalonia? The judges have now been through every repository and every write-up, and here are the results.
Grand Prize: Argo Books
Argo Books wins the Grand Prize of $5,000 and an Avalonia swag pack. Congratulations, Evan!
Before: Argo Books version 1, WinForms, Windows only.
After: Argo Books version 2, Avalonia, on Windows, macOS and Linux.
Argo Books is accounting software for small businesses. Version 1 was a Windows-only WinForms app of 91,089 lines. Version 2 is a complete rewrite in Avalonia for Windows, macOS and Linux, done by one developer over nine months.
It was the pick of both our team and Devolutions. It's a real WinForms business app with paying customers. Dark mode in the WinForms version needed 1,873 hard-coded colour assignments and a registry poll every second. It's now a set of theme dictionaries. More than a third of Argo Books users now run macOS, which wasn't possible before.
Evan's post, WinForms to Avalonia: Rewriting a 91,000-Line App, shows how it was done. If you have a WinForms app of your own, read it.
Best Everyday Tool: ImageGlass
ImageGlass wins Best Everyday Tool, which comes with $2,000 and an Avalonia swag pack. Congratulations, Phap!
Before: ImageGlass 9, WinForms, Windows only.
After: ImageGlass 10, Avalonia, shown here on Windows 11.
ImageGlass is an open-source image viewer that Duong Dieu Phap started in 2010. It opens more than 90 formats, including WEBP, AVIF, JXL and HEIC. Version 9 was WinForms and Windows only. Version 10 runs on Windows, macOS and Linux from one Avalonia codebase, with the photo rendering moved to SkiaSharp and the WebView2 dependency gone.
Phap built a WinUI 3 version first, got it to around 60 per cent, then came back to Avalonia. The whole story is in Modernizing ImageGlass: From WinForms to Avalonia, and the WinForms, WinUI 3 and Avalonia versions are all still in the repository if you'd like to compare.
The other winners
Three more category awards of $2,000 each, and two Honourable Mentions of $500 each.
- Best Cross-Platform Port: Classic Repair Toolbox by Dennis Helligsø. It started as a Windows-only app and now runs properly on Windows, Linux and macOS.
- Best Legacy Revival: COMPASS by Paul De Smul. A careful port of a long-running WPF app that now reaches Linux users too.
- Best Technical Achievement: Conic by Martin Finkel. None of the published categories quite fit Conic, so the judges created one for it. It gets media playback working well inside Avalonia, and sent a fix upstream to make that possible.
- Honourable Mention: GliderUI by mdgrs. It's a framework rather than an application, so it sat outside the categories, but the judges and Devolutions both wanted it recognised.
- Honourable Mention: EMS by Business Information Technologies. A 30-year-old ERP moved from Flex and AIR to Avalonia with the team's own cross-compiler, and it's in production.
Thank you to Devolutions
The whole prize pool was funded by Devolutions, and the Devolutions team helped us judge the entries. Thank you. None of this happens without them.
And thank you to everyone who entered. Socks are in the post.