O Maui-Gen é um gerador de código baseado em modelo para criar o andaime necessário para um aplicativo .NET Maui acionado por dados. Usando um esquema de dados para descrever os campos de dados necessários, Maui-Gen gera os modelos, visualizações, modelos e listões, editar, detalhem as páginas, preenchidas com elementos de formulário necessários para editar e ler os dados do modelo, bem como o serviço SQLLITE CRUD para armazenamento e recuperação de dados. O Maui-Gen também cria arquivos de suporte e injeta dados de singleton e rota quando necessário.
Depois de mover um dos meus aplicativos Xamarin para Maui, eu me vi olhando do zero e isso significava recriar modelos de modelos visualizações Páginas ECT. Achei que isso consumi muito tempo, acelerei um pouco o processo criando modelos, mas isso só funcionou como um ponto de olhar e ainda tinha que editar para atender ao requisito.
Por isso, decidi escrever uma ferramenta Maui-Gen para ajudar a economizar tempo escrevendo o código subjacente necessário para os formulários de entrada de dados da MAUI. Achei isso uma ferramenta realmente útil, então decidi divulgá -la para que outros usassem.
Não é bonito ou bem polido, mas mais uma prova de conceito. Se houver interesse, analisará o investimento.
Você pode aplicar alterações diretamente a um projeto .NET Maui, mas neste momento eu aconselhou fortemente a fazer isso apenas em um projeto recém -criado, para que ele não quebre seu trabalho duro ou verifique se seu projeto está de volta, para que possa restaurá -lo.
Use por seu risco de risco no projeto existente.
Uma opção mais segura é gerar o código para uma nova pasta e copiar os arquivos.
Você precisará instalar Go 1.20 https://go.dev/doc/install
Abaixo estão as ferramentas que você precisará criar e criar um aplicativo .NET Maui. O acelerador do aplicativo Maui instalará os componentes necessários, como o kit de ferramentas comunitárias Maui , o sqllite que o maui-gene precisa.
Abaixo estão as etapas necessárias para instalar e configurar o Maui-Gen pronto para uso.
go install github.com/Mrpye/maui-gen maui-gen init all Abaixo levará você a pensar que as etapas necessárias para serem executadas para que o código genrrado por Maui-gener seja executado.
Primeiro, você precisará criar um novo projeto no Visual Studio usando o App Accelerator Maui, isso instalará os componentes necessários e configurará seu projeto pronto 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 ( ) ;
}
}Observação! Verifique se é o diretório em que todo o código está, veja abaixo.

Execute o seguinte comando para definir o diretório de saída. É aqui que o Maui-Gen produzirá o código.
Ajuste o caminho para apontar para o seu projeto.
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.AsyncVocê também pode alterar o espaço de nome no arquivo de esquema de dados
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
Agora você pode executar o projeto simples e você deve ver.



Documentos da CLI Maui-Gen
# Run maui-get to build template documents
maui-gen gen_docsVocê pode encontrar os documentos gerados aqui.
# Run maui-get to build template documents
maui-gen gen_template_docsVocê pode encontrar os documentos de modelo gerados aqui.



Isso é apenas uma prova de conceito para ver se chama alguma atenção se isso acontecer, então dedicarei algum tempo a ele.
Se você usá -lo, eu estaria interessado em ouvir o que você pensa sobre isso.
Maui-Gen é o Apache 2.0 licenciado.