Bringing WPF ILSpy to macOS and Linux with Avalonia XPF

This post looks at why we're bringing the WPF version of ILSpy to macOS and Linux using Avalonia XPF

Mike James

The ILSpy .NET decompiler, a powerful tool with both Windows-only (WPF) and cross-platform (Avalonia) versions, is poised to be our next Avalonia XPF demo app! We have successfully taken the WPF version of ILSpy to macOS and Linux using Avalonia XPF. This post explores this journey and highlights the key advantages of XPF for developers looking to take their WPF apps to new platforms. 

ILSpy running on macOS

Why Bother?

While a meticulous manual port of ILSpy to Avalonia already existed, we were keen to demonstrate the power of Avalonia XPF. We're constantly seeking examples that demonstrate that XPF drastically simplifies the process of bringing WPF-based apps to macOS and Linux. The results speak for themselves: with only 129 code adjustments (+/-), the traditionally Windows-bound ILSpy was up and running on these new platforms. This achievement showcases the remarkable potential of Avalonia XPF to streamline even complex cross-platform migrations. As you can see below, very few changes were required to take the WPF version of ILSpy to new platforms!  

What's Next?

We're speaking with the team behind ILSpy to find a way to bring the WPF app to everyone! Watch this space, as we hope to have a download available soon!  

ILSpy running on Linux