A declarative UI framework for building cross-platform mobile and desktop apps using F# and the Model-View-Update architecture.
Fabulous is a declarative UI framework for building cross-platform mobile and desktop applications using F# and the Model-View-Update (MVU) architecture. It provides an expressive syntax for defining UI in a single place, automatically handling updates when state changes, and leverages functional programming for robust, type-safe code. The framework integrates with .NET MAUI and AvaloniaUI for rendering, enabling developers to target multiple platforms with a single codebase.
F# developers and .NET developers looking to build cross-platform mobile and desktop applications with a declarative, functional approach. It is ideal for teams prioritizing type safety, predictable state management, and a modern UI development experience.
Developers choose Fabulous for its combination of declarative UI, MVU architecture, and functional programming in F#, which together simplify state management, reduce bugs, and enhance code maintainability. Its integration with the .NET ecosystem and support for multiple UI frameworks provide flexibility and performance for cross-platform development.
Declarative UI framework for cross-platform mobile & desktop apps, using MVU and F# functional programming
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Inspired by SwiftUI, it defines UI in a single place with automatic updates, reducing manual mutation and race conditions, as shown in the counter app example.
Uses F# records and discriminated unions to make state transitions explicit, enabling predictable management and easy unit testing, demonstrated in the update function.
Leverages F# for concise, type-safe code that enhances maintainability and reasoning, integrating with the .NET ecosystem for library access.
Builds apps for mobile and desktop by integrating with .NET MAUI and AvaloniaUI, benefiting from mature .NET frameworks and tools.
Fabulous itself doesn't render UI; it requires .NET MAUI or Avalonia, adding setup complexity and potential integration hurdles, as noted in the README.
Based on F#, which has a smaller community and fewer resources than C#, limiting accessibility and support for broader .NET teams.
Compared to established frameworks like Xamarin or Flutter, it offers fewer pre-built UI components, often requiring custom implementation.