Desktop, Mobile and Cross-Platform UI
Windows, macOS, Linux (and more) MVU/component DSL on Avalonia.NET MAUI / Avalonia (mobile and desktop) MVU bindings to XAML WinForms / WPF directly Terminal.Gui, Spectre.Console Browser (WebAssembly)
Games: MonoGame and Godot (via C# interop) can be used from F#.
// Avalonia.FuncUI counter (sketch)
open Avalonia.FuncUI.DSL
open Avalonia.Controls
let view (state: int) dispatch =
StackPanel.create [
StackPanel.children [
Button.create [ Button.content "-"; Button.onClick (fun _ -> dispatch -1) ]
TextBlock.create [ TextBlock.text (string state) ]
Button.create [ Button.content "+"; Button.onClick (fun _ -> dispatch 1) ]
]
]