Maui-Gen es un generador de código basado en plantillas para construir el andamio necesario para una aplicación .NET Maui impulsada por datos. Utilizando un esquema de datos para describir los campos de datos requeridos, Maui-Gen genera los modelos, vistas, ver modelo y lista, editar, detallarse páginas, poblados con elementos de formulario necesarios para editar y leer los datos del modelo, así como el servicio SQLLITE CRUD para el almacenamiento y la recuperación de datos. Maui-Gen también crea archivos de soporte e inyecta datos de singleton y ruta donde sea necesario.
Después de mover una de mis aplicaciones de Xamarin a Maui, me encontré mirando desde cero y esto significaba recrear modelos de modelos Vistas Páginas ECT. Encontré que esto lleva mucho tiempo aceleré un poco el proceso creando plantillas, pero esto solo funcionó como un punto de vista y aún tenía que editar para adaptarse al requisito.
Así que decidí escribir Maui-Gen una herramienta para ayudar a ahorrar tiempo para escribir el código subyacente necesario para los formularios de entrada de datos de Maui. Encontré esta una herramienta realmente útil, así que decidí ponerla para que otros lo usen.
No es bonito o bien pulido, sino más bien una prueba de concepto. Si existe el interés, buscará invertir el tiempo.
Puede aplicar los cambios directamente a un proyecto .NET Maui, pero en este punto me recomendaría que solo haga esto en un proyecto recién creado, para que no rompa su arduo trabajo o me asegure de que su proyecto esté de nuevo para poder restaurarlo.
Use su propio riesgo en el proyecto existente.
Una opción más segura es generar el código en una nueva carpeta y luego copiar los archivos.
Deberá instalar GO 1.20 https://go.dev/doc/install
A continuación se muestran las herramientas que necesitará para crear y crear una aplicación .NET Maui. El Acelerador de la aplicación Maui instalará los componentes requeridos, como Maui Community Tool Kit , Sqllite que necesita Maui-Gen .
A continuación se presentan los pasos necesarios para instalar y configurar Maui-Gen listo para su uso.
go install github.com/Mrpye/maui-gen maui-gen init all A continuación, tomará que los pasos debían realizarse para que se ejecute el código Genrated por Maui-Gen.
Primero, deberá crear un nuevo proyecto en Visual Studio utilizando el Acelerador de la aplicación Maui, esto instalará los componentes requeridos y configurará su proyecto listo para Maui-Gen .









//<%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 ( ) ;
}
}¡Nota! Asegúrese de que sea el directorio donde está todo el código, vea a continuación.

Ejecute el siguiente comando para establecer el directorio de salida. Aquí es donde Maui-Gen emitirá el código.
Ajuste el camino para apuntar a su proyecto.
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.AsyncTambién puede cambiar el espacio de nombres en el archivo de esquema de datos
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
Ahora puede ejecutar el proyecto simple y debería ver.



Documentos de CLI de Maui-Gen
# Run maui-get to build template documents
maui-gen gen_docsPuede encontrar los documentos generados aquí.
# Run maui-get to build template documents
maui-gen gen_template_docsPuede encontrar los documentos de plantilla generados aquí.



Esto es solo una prueba de concepto para ver si llama alguna atención si lo hace, entonces pondré algo de tiempo en él.
Si lo usa, me interesaría escuchar lo que piensa al respecto.
Maui-Gen tiene licencia Apache 2.0.