What?
This is an experimental release of the Avalonia port of Snap.Net for Windows. If you use the Windows version of Snap.Net, please try this release and let me know what you think! There is no installer yet, just run the executable and have a look.
Why?
Snap.Net's original tech stack (.NET Framework 4.* on Windows, Xamarin for Android and iOS) has become outdated to the point that it is becoming increasingly challenging to keep releasing updates, on mobile in particular (as I'm sure the iOS users have noticed - more on that later). Rewriting Snap.Net using Avalonia (https://avaloniaui.net/) puts us in a much better place for future support; and it allows cross-platform support on desktop. Some of you may have noticed Linux and macOS binaries being smuggled into previous releases - the Windows version has remained mostly unchanged so far.
The plan will be to eventually deprecate the old Windows version (we'll refer to that as the "legacy" version going forward) and replace it with its Avalonia counterpart, as that means I can maintain all 3 desktop platforms with a single (and it must be said, much cleaner) codebase. The legacy version will still be supported for as long as the Avalonia port isn't feature complete, or as long as people report issues with it that aren't present in the legacy version. I have been daily driving both the Linux and Windows versions of the Avalonia port for a while now, both have been stable enough that I feel comfortable taking this next step.
Future releases will include both the legacy Windows version as well as the new Avalonia ports for Windows, Linux and macOS.
iOS?
I have been unable to release updates on iOS for a few reasons: I do not own a mac (or an iPhone for that matter), and Xamarin.iOS which is the core of Snap.Net's tech stack for iOS has been out of support for a good while now. CI/CD acrobatics have allowed me to create builds even without a mac, but due to the deprecated tech stack Apple would always reject these builds if I tried to submit them. Once the desktop Avalonia ports are buttoned up, the next phase is to try and port both mobile platforms away from Xamarin and onto Avalonia. For Android I'm not expecting much difference, except maybe more frequent bug fix releases thanks to CI/CD and hopefully better performance than before. For iOS it means an AppStore update of the app becomes possible again - though still challenging since I don't have an iOS device to test with. If you're an iOS user and are interested in helping with beta testing, please reach out!