News

Avalonia .NET UI Framework Picks Up Steam as Milestone Release Nears

A large, engaged community of open source developers is awaiting a milestone release of Avalonia, a cross-platform UI framework for .NET that boasts more than 2.2 million installs.

That release, version 11, will cap off a years-long development effort that saw the first v11 preview announced in August 2022. The latest online chatter found in the project's roadmap and elsewhere indicates it could drop any day now. Developers have guessed it would ship in Q1 2023, but that date passed days ago. Another post on Jan. 21 indicated a Release Candidate was planned for the next one to two months, but that time range has also passed. Less than a month ago, the project paused community contributions to polish up v11.

So buckle up, Avalonians, the time draws nigh.

Whatever the ship date, the project has picked up steam in advance of the milestone release.

In fact, the project, stewarded by the .NET Foundation, was by far and away the leader in commits among that organization's projects:

[Click on image for larger view.] .NET Foundation Project Trends (source: .NET Foundation).

As the above graphic shows, Avalonia saw 599 commits in March, more than three times the number of commits to the second-place .NEXT project. For the year, it boasts 1,766 commits, well above the second-place project, OpenSleigh, at 763.

The description in the project's GitHub repo reads: "Avalonia is a cross-platform UI framework for dotnet, providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS. Avalonia is mature and production ready. We also have in beta release support for iOS, Android and in early stages support for browser via WASM."

Indeed, while the development process has dragged slowly along, the project has already been deemed "mature and production ready" by more than a dozen open source Projects that are using Avalonia.

[Click on image for larger view.] Avalonia Architecture (source: Avalonia).

The Avalonia web site says it's considered to be "a spiritual successor to WPF," referring to Microsoft's Windows Presentation Foundation UI framework for creating desktop applications with .NET, which originated in the old, Windows-only .NET Framework. The relationship between Avalonia and WPF (and Silverlight, UWP and Xamarin) is explored in a 2022 blog post by community developer Nick Polyak.

Avalonia has also been likened to more modern Microsoft dev tooling, namely .NET MAUI (Multi-platform App UI), which evolved Xamarin.Forms by adding support for desktop apps. In fact, the Avalonia site just days ago published a blog post titled "Avalonia UI and MAUI - Something for everyone."

That post compares and contrasts the two frameworks and says in conclusion: "Avalonia UI and MAUI are both outstanding options for cross-platform development, each offering unique benefits depending on your project's requirements. The strength of the .NET ecosystem lies in its ability to provide developers with an array of options to choose from, ensuring they can select the most suitable approach for their specific project. The beauty of .NET is that a well architected application can reuse a huge amount of code, regardless of the UI framework used."

[Click on image for larger view.] Avalonia XPF Architecture (source: Avalonia).

During its many years of development (it debuted on GitHub in 2013 under the name Perspect), the project has expanded, with Avalonia XPF offering to "Unleash the full potential of your existing WPF apps with our cross-platform UI framework, enabling WPF apps to run on macOS and Linux without requiring expensive and risky rewrites."

While Avalonia XPF is in the preview stage, the Avalonia site also lists projects for Avalonia UI for Visual Studio, Avalonia UI for Rider and .NET Templates.

The Avalonia for Visual Studio 2022 extension has been installed more than 38,000 times, while a tool for older Visual Studio versions has nearly 77,000 installs.

The AvaloniaRider extension for the JetBrains IDE, meanwhile, has been downloaded more than 37,000 times.

Some 294 contributors listed on the project's GitHub repo further speak to the project's popularity, as does a project collective (for providing financial support) that lists 109 contributors. GitHub also shows more than 17,500 stars, some 1,500 forks and 24,144 total commits. The project web site claims more than 2.2 million total installs.

As far as the project's name, it reportedly stems from Avalon, Microsoft's code name for WPF, and not the famed microcontinent of the Paleozoic era.

Interested developers can learn more by browsing through the documentation as they await the big v11 GA release.

Stay tuned.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus

Featured

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

Subscribe on YouTube