Fabulous ist ein modernes deklaratives UI-Framework für das Erstellen von plattformübergreifenden mobilen und Desktop-Apps in .NET.
Ziel ist es, Ihnen eine großartige Entwicklungserfahrung und das Vertrauen in Ihren Code zu erzielen, indem Sie eine ausdrucksstarke UI-Syntax, die einfache und robuste Modell-View-Update-Architektur (MVU) und die funktionale Programmierung kombinieren.
Die vollständige Dokumentation für Fabulous finden Sie unter docs.fabulous.dev.
Andere nützliche Links:
Darüber hinaus haben wir den fabelhaften Discord -Server, auf dem Sie eine Ihrer fabelhaften Fragen stellen können.
Wir glauben, dass die deklarative Benutzeroberfläche, die funktionale Programmierung und das MVU -Staatsverwaltung perfekt für die App -Entwicklung geeignet sind.
Fabulous hilft Ihnen dabei, mobile und Desktop -Apps schnell und dank der deklarativen Benutzeroberfläche und der MVU -Architektur in einer einzigen Sprache zu erstellen: F# - eine funktionale Programmiersprache.
Fabulous zielt auch darauf ab, durch einen geringen Gedächtnisverbrauch und effiziente View -Differenzmechanismen eine Leistung zu haben.
Beachten Sie, dass Fabulous selbst keine Benutzeroberfläche bietet. Sie müssen es mit einem anderen Framework kombinieren wie:
Eine typische UI -Entwicklung kann ein Albtraum sein, wenn sie nicht ordnungsgemäß ausgeführt werden.
Es wird im Allgemeinen an einem Ort erstellt und dann hier und da hier und da mutiert, basierend auf den Bedürfnissen und dem, was der Benutzer tut. Verwandte UI -Stücke enden an mehreren Stellen und machen es schwierig, mental an alle Möglichkeiten zu denken. Bis zur unvermeidlichen Rennbedingung oder des unvermeidlichen Fehlers aufgrund eines unbeabsichtigten Benutzerflusses.
Fabulous macht es dank der von Swiftui inspirierten deklarativen Benutzeroberfläche leichter, über die Benutzeroberfläche zu argumentieren.
Die Benutzeroberfläche einer Komponente wird an einem einzigen Ort definiert und fabelhaft wird sie jedes Mal, wenn der Zustand dieser Komponente geändert wird, sie nennt.
Sie müssen nicht darüber nachdenken, wie Sie die Benutzeroberfläche mutieren können. Fabulous wird damit umgehen, damit Sie immer mit der neuesten Benutzeroberfläche übereinstimmen, die Sie benötigen.
/// A simple Counter app made with Fabulous.MauiControls
type Model =
{ Count : int }
type Msg =
| Increment
| Decrement
let view model =
Application (
ContentPage (
" Counter app " ,
VStack ( spacing = 16. ) {
Image ( Aspect.AspectFit , " fabulous.png " )
Label ( $ " Count is {model.Count} " )
Button ( " Increment " , Increment )
Button ( " Decrement " , Decrement )
}
)
)
MVU macht jeden Zustand und jeder Übergang zwischen diesen Zuständen explizit.
Sie müssen sich keine Sorgen um unbeabsichtigte Aktionen machen, die zu einem ungültigen Zustand führen könnten, der die App zum Absturz bringt.
Stattdessen können Sie den Status Ihrer App oder Komponente und Übergänge zwischen ihnen mit F# -Datensätzen und diskriminierten Gewerkschaftstypen sehr leicht modellieren.
Bei Beginn wird Fabulous den Staat initialisieren. Wenn dann Nachrichten versandt werden, können Sie mit fabelhafter Übergang von einem Zustand in den anderen eine bestimmte Nachricht wechseln.
Wenn gleichzeitig mehrere Nachrichten empfangen werden, stellt sich Fabulous an, damit Sie den Status ordnungsgemäß aktualisieren können.
let init () =
{ Count = 0 }
let update msg model =
match msg with
| Increment -> { model with Count = model.Count + 1 }
| Decrement -> { model with Count = model.Count - 1 }
Und schließlich ist es angesichts der funktionellen Natur der MVU extrem einfach, jeden möglichen Zustand Ihrer Anwendung zu testen.
[<Test>]
let ``When clicking the Increment button , increment the count by one`` () =
let previousState = { Count = 10 }
let expectedState = { Count = 11 }
let actualState = App.update Increment previousState
actualState |> should equal expectedState
.NET ist von Microsoft ein sehr ausgereiftes und breites Framework. Es kann auf jedem Gerät und jeder Plattform ausgeführt werden, ist sehr effizient und verfügt über ein großes Ökosystem aus Open-Source- und Lizenzbibliotheken, Plugins und anderen Frameworks.
Sie können vom .NET -Ökosystem profitieren, indem Sie in Ihrer fabelhaften Anwendung direkt in Ihrer fabelhaften Anwendung Pakete mit Drittanbietern verwenden.
Der einfachste Weg, uns Ihre Unterstützung zu zeigen, besteht darin, dem Projekt einen Stern zu geben.
Sie können uns auch unterstützen, indem Sie unser Sponsor im GitHub -Sponsorenprogramm werden.
Dies ist eine fantastische Möglichkeit, alle Bemühungen zu unterstützen, fabelhaft das beste deklarative UI -Framework für Dotnet zu machen.
Wenn Sie Unterstützung benötigen, siehe Abschnitt Commercial Support unten.
Haben Sie einen Fehler gefunden oder einen Vorschlag für die Verbesserung von Fabulous haben? Öffnen Sie ein Problem und wir werden es uns so schnell wie möglich ansehen.
Möchten Sie mit einer PR beitragen? PRs sind immer willkommen. Stellen Sie einfach sicher, dass Sie es aus der richtigen Zweigstelle (Haupt) erstellen und dem Leitfaden für Mitwirkenden befolgen.
Wenn Sie größere Änderungen oder im Zweifelsfall haben, sollten Sie über Ihren Beitrag zum Team sprechen. Entweder über ein Problem, GitHub -Diskussion oder wenden Sie sich an das Team entweder mit dem Discord -Server.
Wenn Sie möchten, dass wir Ihnen:
Kontaktieren Sie uns mit uns: [email protected]