HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
fsprojects
Avalonia.FuncUI
F#2021–2025
fsprojects / Avalonia.FuncUI

Avalonia.FuncUI

Develop cross-plattform GUI Applications using F# and Avalonia!

10Distinct people
24Mentions
0Explicit recommenders
1.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Develop cross-plattform GUI Applications using F# and Avalonia!

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year24 dated mentions

Observed mentions: 2021-08-20 12:11:06 UTC to 2025-08-14 09:08:31 UTC.

0369122021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 11 mentions; 1 submissions, 10 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC615
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC11110
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

What Hacker News says

24 sources
F# is a really good practical FP language. - Great real IDE support (JetBrains Rider, Visual Studio) - Large ecosystem of packages (F# is a .NET language, so you can just use all Nuget packages out there.) - The language is stable and only gets small updates. There is no Scala 3 scenario on the horizon. - It is fast, multithreaded (.NET TPL) and cross platform. - Great for building cross platform UI’s with Avalonia. https://github.com/fsprojects/Avalonia.FuncUI
In F# for Fun and Profit
Downsides: lack of jobs, libraries, learning materials, small community, little promotion by Microsoft outside of "what's new in F#" and other announcements. It's a shame because F# is a beautiful language — it's fun to read, write and maintain. .NET now works well cross-platform with editors other than Visual Studio. General perks of .NET like cross-platform compilation are a nice bonus, for example, on macOS I can: brew install dotnet dotnet new console -lang F# -o HelloWorldApp cd HelloWorldApp dotnet publish -c Release -r osx-arm64 --self-contained dotnet publish -c Release -r osx-x64 --self-contained dotnet publish -c Release -r win-x64 --self-contained dotnet publish -c Release -r linux-x64 --self-contained To get self-contained binaries (that don't need .NET to be installed locally) for those pla
Read the rest
tforms. There is a decent multi-platform UI framework called Avalonia: https://github.com/fsprojects/Avalonia.FuncUI There are good actively maintained web frameworks: https://fsharp.org/guides/web/#web-frameworks There are some passionate people writing great books about F#: https://fsharpforfunandprofit.com/ddd/ Most of F#'s adoption issues seem to be because: 1. It's tough to convince people outside of the .NET community to use .NET. 2. Most of the people using .NET use C#. 3. It's hard to convince C# users to adopt F#. (See https://www.reddit.com/r/dotnet/comments/16m0wdj/why_dont_yo... and similar threads.) I'd love to work with F# full-time, but — short of starting my own company using it or convincing Microsoft to pay me to help them showcase its benefits — it's been hard to find work with F#, which drove me to spend time with other languages.
In What's New in F# 9
I hope you haven't been trying to use Mono or something obscure for this, which unfortunately happens from time to time. If you have .NET SDK installed (you can get it with apt/dnf install dotnet8 or dotnet-sdk-8.0), you only need the following: dotnet new install Avalonia.Templates dotnet new avalonia.app dotnet run If you don't like XAML, you can use https://github.com/AvaloniaUI/Avalonia.Markup.Declarative to write declarative SwiftUI-like code. You can also use F# if that's your cup of tea: https://github.com/fsprojects/Avalonia.FuncUI. If you prefer GTK, there are rich GObject bindings that are a successor to GTK#: https://gircore.github.io/ Here are samples that demonstrate basic GTK4 usage scenarios: https://github.com/gircore/gir.core/tree/main/src/Samples/Gt... All this should require less than 10 minutes including setup a
Read the rest
nd such. Lastly, I want to make a disclaimer that you do not need C# Dev Kit extension (which requires an account that annoys many people, including me) for VS Code, only the base C# one, which is what gives you language server, debugger, etc. If you are using VSCodium which cannot use closed-source vsdbg component that the base extension uses, you can replace it with https://github.com/muhammadsammy/free-vscode-csharp which uses open-source debugger from Samsung instead. It can be rough around the edges but works well enough in standard scenarios. Just don't use Debugger.WriteLine over Console. :D
In Mozilla fixes Firefox zero-day actively exploited in attacks
More expressive nature of F# means you don't have that many files. C# is luckily and finally moving into that direction too. There was no reason for "one file per class" policy anyway, but it was still widely adopted historically. Here's an example of a worst-case scenario (GUI frameworks and the extensions have notoriously huge amount of code): https://github.com/fsprojects/Avalonia.FuncUI/blob/master/sr... But realistically an average project would look closer to this instead: https://github.com/DiffSharp/DiffSharp/blob/dev/src/DiffShar... Once you have enough files, it might be a good idea to factor out separate concerns into different projects.
In Why is F# code robust and reliable?
XAML is very much alive within Avalonia[0], Uno[1] and MAUI[2] (not to mention WPF) :) There is support and growing popularity for declarative UI defined in C#[3] and F#[4] instead though. [0]: https://docs.avaloniaui.net/docs/basics/user-interface/intro... [1]: https://platform.uno/docs/articles/getting-started/counterap... [2]: https://learn.microsoft.com/en-us/dotnet/maui/xaml/fundament... [3]: https://github.com/AvaloniaUI/Avalonia.Markup.Declarative [4]: https://github.com/fsprojects/Avalonia.FuncUI
In Show HN: Rust GUI Library via Flutter
Interestingly enough, in practice, there are various declarative SwiftUI-style nuget packages for Avalonia[0][1][2] and Uno[3]. You don't actually have to touch XML if you don't want to. Edit: as someone else noted, the website itself links to a built-in option to do so as well - https://platform.uno/c-markup/ [0] https://github.com/AvaloniaUI/Avalonia.Markup.Declarative [1] https://github.com/wieslawsoltes/NXUI [2] (F#) https://github.com/fsprojects/Avalonia.FuncUI [3] https://github.com/VincentH-Net/CSharpForMarkup
In Uno: Create Beautiful Cross Platform .NET Apps Faster
You should be able to use Avalonia UI[1] as an alternative GUI layer on Windows, Linux, macOS, iOS and Android. There is a beautiful functional MVU wrapper around it called Avalonia.FuncUI[2] with Avalonia.FuncUI.Elmish[3] which is an implementation of Elmish[4] (based of the Elm language[4]) for F#. [1]: https://avaloniaui.net/ [2]: https://github.com/fsprojects/Avalonia.FuncUI/ [3]: https://www.nuget.org/packages/Avalonia.FuncUI.Elmish and https://github.com/fsprojects/Avalonia.FuncUI/tree/master/sr... [4]: https://elm-lang.org/
In Course using F#: Write your own tiny programming system(s)

Showing the 15 most recent of 24 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.