Avalonia (software framework)

{{Short description|Software framework}}

{{about|software framework|the prehistoric continent|Avalonia|other uses for Avalon|Avalon (disambiguation)}}

{{Infobox software

| name = Avalonia

| screenshot =

| caption =

| developer = .NET Foundation and AvaloniaUI OÜ

| released = {{Start date and age|2013|12|5}}{{cite web|url=https://github.com/AvaloniaUI/Avalonia/commit/cd2b7530f5e3e0cea2c45c39bdc9a433149c2200|title=First commit to the Avalonia source code|website=GitHub|access-date=5 Dec 2013}}

| latest release version = {{wikidata|property|preferred|references|edit|Q97658489|P348|P548=Q2804309}}

| latest release date = {{wikidata|qualifier|preferred|single|Q97658489|P348|P548=Q2804309|P577}}

| latest preview version =

| latest preview date =

| operating system = Microsoft Windows, Linux, macOS, iOS, Android

| repo = {{URL|https://github.com/AvaloniaUI/Avalonia}}

| programming language = C#

| genre = Software framework

| license = MIT License

| website = {{wikidata|property|Q97658489|P856|P407=Q1860}}

}}

{{Portal|Free and open-source software}}

Avalonia is a free and open-source{{Cite web |date=2023-08-20 |title=Multiplatform XAML/C# Miracle Package: Avalonia. Comparing Avalonia to WinUI based Solutions |url=https://www.codeproject.com/Articles/5366945/Multiplatform-XAML-Csharp-Miracle-Package-Avalonia |access-date=2023-12-22 |website=CodeProject |language=en-US}}{{Cite web |last=Anderson |first=Tim |title=Cross-platform Windows Presentation Framework, anyone? The short answer: yes. Unpacking Avalonia |url=https://www.theregister.com/2021/03/30/crossplatform_wpf_anyone_unpacking_avolonia/ |access-date=2023-12-22 |website=www.theregister.com |language=en}} .NET cross-platform XAML-based UI framework {{Cite web |date=2021-04-12 |title=ReSharper & Rider Improvements For Avalonia |url=https://blog.jetbrains.com/dotnet/2021/04/12/improvements-for-resharper-rider-avalonia/ |access-date=2023-12-22 |website=The JetBrains Blog |language=en-US}} inspired by WPF/UWP and distributed under the MIT License.{{Github|AvaloniaUI|Avalonia}}{{Cite web|url=https://www.infoq.com/news/2018/02/Avalonia/|title=An Early Look at Avalonia, a Cross-Platform UI Toolkit for .NET|author=Jonathan Allen|website=|date=2018-02-15|publisher=InfoQ|accessdate=2019-09-19|archive-date=2019-12-27|archive-url=https://web.archive.org/web/20191227170157/https://www.infoq.com/news/2018/02/Avalonia/}}{{Cite web|url=https://www.i-programmer.info/news/80/11611.html|title=Avalonia Cross Platform .NET UI Framework|author=Kay Ewbank|website=I Pogrammer|date=2019-03-07|publisher=|access-date=2019-09-19|archive-date=2018-05-14|archive-url=https://web.archive.org/web/20180514160818/http://www.i-programmer.info/news/80/11611.html}} Avalonia supports the MVVM pattern.{{Cite web |title=The MVVM Pattern {{!}} Avalonia Docs |url=https://docs.avaloniaui.net/docs/concepts/the-mvvm-pattern/ |access-date=2024-08-12 |website=docs.avaloniaui.net |language=en}}

It enables development of cross-platform applications using any .NET language, including C#, F#{{Cite web |title=Lost in Details |url=https://lostindetails.com/articles/Desktop-Apps-with-AvaloniaUI-and-FSharp |access-date=2023-12-22 |website=lostindetails.com}} and VB.NET for Windows, Linux, macOS, iOS, Android and WebAssembly.{{Cite web |last=adrianhall |date=2023-09-08 |title=Build an Avalonia app with Azure Mobile Apps |url=https://learn.microsoft.com/en-us/azure/developer/mobile-apps/azure-mobile-apps/quickstarts/avalonia/ |access-date=2023-12-22 |website=learn.microsoft.com |language=en-us}}{{Cite web |title=Avalonia Reaches v11 GA Release |url=https://www.infoq.com/news/2023/08/avalonia-v11-ga/ |access-date=2023-12-22 |website=InfoQ |language=en}}

Avalonia supports multiple renderers, including Direct2D and Skia Graphics Engine,{{Cite web |last=Anderson |first=Tim |date=2023-07-10 |title=Avalonia 11 released: cross-platform framework gets new renderer plus iOS and Android support • DEVCLASS |url=https://devclass.com/2023/07/10/avalonia-11-released-cross-platform-framework-gets-new-renderer-plus-ios-and-android-support/ |access-date=2023-12-22 |website=DEVCLASS |language=en-GB}} allowing it to operate on a broad range of platforms. Avalonia draws its entire UI,{{Cite web |title=Avalonia UI for .NET: Project Overview from Mike James |url=https://www.infoq.com/news/2023/06/avalonia-mike-james/ |access-date=2023-12-22 |website=InfoQ |language=en}} mirroring the approach taken by Flutter.

History

Avalonia, originally named Perspex,{{Cite web |date=2019-05-20 |title=10 years of Avalonia! |url=http://www.avaloniaui.net/10-years-of-avalonia |access-date=2023-12-21 |website=www.avaloniaui.net |language=en }}{{Dead link|date=May 2025 |bot=InternetArchiveBot |fix-attempted=yes }} was first developed by Steven Kirk, with its initial commit made on 5 December 2013. The framework was conceived with the aim of creating a cross-platform UI framework, inspired by Windows Presentation Foundation (WPF).{{Cite web |last=Anderson |first=Tim |title=Cross-platform Windows Presentation Framework, anyone? The short answer: yes. Unpacking Avalonia |url=https://www.theregister.com/2021/03/30/crossplatform_wpf_anyone_unpacking_avolonia/ |access-date=2023-12-22 |website=www.theregister.com |language=en}}

Avalonia became part of the .NET Foundation{{Cite web |title=Avalonia |url=https://old.dotnetfoundation.org/projects/avalonia |access-date=2025-01-08 |website=Default |language=en}} on 1 April 2020,{{Cite web |title=Modify copyright in licence. · AvaloniaUI/Avalonia@26738fe |url=https://github.com/AvaloniaUI/Avalonia/commit/26738fee3a14e5472e32b5cf876ae101b5b83529 |access-date=2023-12-21 |website=GitHub |language=en}} and left on 20 February 2024.{{Cite web |title=Farewell to the .NET Foundation |url=https://github.com/AvaloniaUI/Avalonia/discussions/14666 |access-date=2024-02-28 |website=GitHub |language=en}}

IDE support

Avalonia maintains supports for the following IDEs and editors via plugins:

  • Visual Studio Code{{Cite web |title=Avalonia for VSCode - Visual Studio Marketplace |url=https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.vscode-avalonia |access-date=2023-12-22 |website=marketplace.visualstudio.com |language=en-us}}
  • Visual Studio{{Cite web |title=Avalonia for Visual Studio 2019 - Visual Studio Marketplace |url=https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio |access-date=2023-12-22 |website=marketplace.visualstudio.com |language=en-us}}{{Cite web |title=Avalonia for Visual Studio 2022 - Visual Studio Marketplace |url=https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaVS |access-date=2023-12-22 |website=marketplace.visualstudio.com |language=en-us}}

Other IDEs can be used with community-supported plugins, including JetBrains Rider.{{Cite web |title=AvaloniaRider - IntelliJ IDEs Plugin {{!}} Marketplace |url=https://plugins.jetbrains.com/plugin/14839-avaloniarider |access-date=2023-12-22 |website=JetBrains Marketplace}}

References

{{Reflist}}

Further reading

  • [https://visualstudiomagazine.com/articles/2023/07/07/avalonia-11.aspx Visual Studio Magazine: Open Source Avalonia .NET UI Framework Finally Hits Milestone v11 GA Release]
  • [https://www.infoworld.com/article/3650477/getting-started-with-avalonia-ui.html InfoQ: Getting started with Avalonia UI]
  • [https://devclass.com/2023/02/13/interview-avalonia-xpf-introduced-for-wpf-on-mac-linux-and-eventually-mobile/ DevClass: Interview: Avalonia XPF introduced for WPF on Mac, Linux and eventually mobile/]
  • [https://blog.jetbrains.com/dotnet/2021/05/10/case-study-how-gritworld-uses-rider-and-avalonia-to-build-a-powerful-3d-engine/ JetBrains Blog: Case Study: How GritWorld Uses Rider and Avalonia to Build a Powerful 3D Engine]
  • [https://www.i-programmer.info/news/90-tools/16518-avalonia-11-adds-new-platform-support.html I-Programmer: Avalonia 11 Adds New Platform Support]