Maui-Gen ist ein vorlagenbasierter Codegenerator zum Erstellen des Gerüsts, das für eine datengesteuerte .NET MAUI-Anwendung benötigt wird. Unter Verwendung eines Datenschemas zur Beschreibung der erforderlichen Datenfelder generiert Maui-Gen die Modelle, Ansichten, Ansichtsmodell und Liste, bearbeiten, detaillierte Seiten, die mit Formularelementen besiedelt sind, die zum Bearbeiten und Lesen der Daten aus dem Modell sowie SQLLite-Crud-Service für Datenspeicher und Abruf erforderlich sind. Maui-Gen erstellt auch unterstützende Dateien und injiziert bei Bedarf Singleton- und Routendaten.
Nachdem ich eine meiner Xamarin -Apps auf Maui verschoben hatte, starrte ich von Grund auf neu, und dies bedeutete, Modelle Modellansichten Seiten zu ermitteln. Ich fand dies zeitaufwändig. Ich habe den Prozess durch das Erstellen von Vorlagen ein wenig beschleunigt, aber dies funktionierte nur als Starrpunkt und musste trotzdem bearbeiten, um die Anforderungen zu erfüllen.
Deshalb habe ich mich entschlossen, Maui-Gen ein Tool zu schreiben, mit dem das für die MAUI-Dateneintragsformulare benötigte zeitliche Schreiben des zugrunde liegenden Codes sparen kann. Ich fand dies ein wirklich nützliches Werkzeug, deshalb habe ich beschlossen, es für andere zu verwenden.
Es ist nicht ziemlich oder gut poliert, sondern eher ein Beweis für das Konzept. Wenn es das Interesse gibt, werden die Zeit investieren.
Sie können Änderungen direkt auf ein .NET MAUI -Projekt anwenden, aber zu diesem Zeitpunkt würde ich dringend empfohlen, dies nur in einem neu erstellten Projekt zu tun, damit es nicht Ihre harte Arbeit durchbricht oder sicherstellen kann, dass Ihr Projekt wieder auftritt, damit sie wiederherstellen können.
Verwenden Sie das Risiko für Ihr eigenes Risiko für bestehendes Projekt.
Eine sicherere Option besteht darin, den Code für einen neuen Ordner zu generieren und dann die Dateien zu kopieren.
Sie müssen Go 1.20 https://go.dev/doc/install installieren
Im Folgenden finden Sie die Tools, die Sie für die Erstellung und Erstellung einer .NET MAUI -Anwendung benötigen. Der MAUI App Accelerator installiert die erforderlichen Komponenten wie das MAUI Community Tool Kit , SQLLite, das Maui-Gen benötigt.
Im Folgenden finden Sie die Schritte, die zur Installation und Konfiguration von Maui-Gens bereit sind.
go install github.com/Mrpye/maui-gen maui-gen init all Im Folgenden werden Sie überlegen, ob die Schritte ausgeführt werden mussten, damit der von Maui-Gen genrierte Code ausgeführt wird.
Zunächst müssen Sie ein neues Projekt in Visual Studio mit dem MAUI-App Accelerator erstellen. Dadurch werden die erforderlichen Komponenten installiert und Ihr Projekt eingerichtet, das für Maui-Gen bereit ist.









//<%REGISTER_ROUTE%>
public partial class AppShell : Shell
{
public AppShell ( )
{
InitializeComponent ( ) ;
//<%REGISTER_ROUTE%>
}
} //<%REGISTER_SINGLETON%
public static class MauiProgram {
public static MauiApp CreateMauiApp ( ) {
var builder = MauiApp . CreateBuilder ( ) ;
builder
. UseMauiApp < App ( )
. UseMauiCommunityToolkit ( )
. ConfigureFonts ( fonts = {
fonts . AddFont ( "OpenSans-Regular.ttf" , "OpenSansRegular" ) ;
fonts . AddFont ( "OpenSans-Semibold.ttf" , "OpenSansSemibold" ) ;
} ) ;
builder . Services . AddSingleton < MainViewModel ( ) ;
//<%REGISTER_SINGLETON%
builder . Services . AddSingleton < MainPage ( ) ;
return builder . Build ( ) ;
}
}Notiz! Stellen Sie sicher, dass es das Verzeichnis ist, in dem der gesamte Code ist, siehe unten.

Führen Sie den folgenden Befehl aus, um das Ausgabeverzeichnis festzulegen. Hier gibt Maui-Gen den Code aus.
Passen Sie den Pfad an, um Ihr Projekt zu verweisen.
maui-gen set output " C:projectsNetDemoMauiAppDemoMauiApp "maui-gen set schema " C:Users[user].maui-genexamplesperson_and_pet.yaml "maui-gen set editmaui-gen nuget install --output [project_path]maui-gen nuget installSQLitePCLRaw.core
SQLitePCLRaw.bundle_green
SQLitePCLRaw.provider.sqlite3
SQLitePCLRaw.provider.dynamic_cdecl
SQLiteNetExtensions
SQLiteNetExtensions.Async
cd C: p rojects N et M auiGenDemoApp M auiGenDemoApp
dotnet add C: p rojects N et M auiGenDemoApp M auiGenDemoApp package SQLitePCLRaw.core
dotnet add package SQLitePCLRaw.bundle_green
dotnet add package SQLitePCLRaw.provider.sqlite3
dotnet add package SQLitePCLRaw.provider.dynamic_cdecl
dotnet add package SQLiteNetExtensions
dotnet add package SQLiteNetExtensions.AsyncSie können den Namensraum auch in der Datenschema -Datei ändern
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
Sie können das Projekt jetzt einfach ausführen und sollten sehen.



Maui-Gen-Cli-Dokumente
# Run maui-get to build template documents
maui-gen gen_docsHier finden Sie die generierten Dokumente.
# Run maui-get to build template documents
maui-gen gen_template_docsHier finden Sie die generierten Vorlagendokumente.



Dies ist nur ein Beweis für das Konzept, um zu sehen, ob es Aufmerksamkeit auf sich zieht, wenn dies der Fall ist, dann werde ich etwas Zeit in diese einsetzen.
Wenn Sie es verwenden, wäre ich interessiert zu hören, was Sie darüber denken.
Maui-Gen ist Apache 2.0 lizenziert.