Mau-gen adalah generator kode berbasis template untuk membangun perancah yang diperlukan untuk aplikasi .NET Maui yang digerakkan data. Menggunakan skema data untuk menggambarkan bidang data yang diperlukan, Mau-gen kemudian menghasilkan model, tampilan, tampilan model dan daftar, mengedit, detail halaman, diisi dengan elemen formulir yang diperlukan untuk mengedit dan membaca data dari model, serta layanan CRUD sqllite untuk penyimpanan data dan pengambilan. Mau-gen juga membuat file pendukung dan menyuntikkan data singleton dan rute di mana diperlukan.
Setelah memindahkan salah satu aplikasi Xamarin saya ke Maui, saya mendapati diri saya menatap dari awal dan ini berarti menciptakan model model melihat halaman dll. Saya menemukan ini memakan waktu, saya sedikit mempercepat proses dengan membuat templat tetapi ini hanya berfungsi sebagai titik menatap dan masih harus mengedit agar sesuai dengan persyaratan.
Jadi saya memutuskan untuk menulis alat Maui-gen untuk membantu menghemat waktu menulis kode yang mendasari yang diperlukan untuk formulir entri data Maui. Saya menemukan ini alat yang sangat berguna jadi saya memutuskan untuk meletakkannya di luar sana untuk digunakan lainnya.
Ini tidak cantik atau dipoles dengan baik tetapi lebih merupakan bukti konsep. Jika ada minat, maka akan melihat menginvestasikan waktu.
Anda dapat menerapkan perubahan langsung ke proyek .NET Maui tetapi pada titik ini saya akan sangat menyarankan untuk hanya melakukan ini pada proyek yang baru dibuat, sehingga tidak merusak kerja keras Anda atau memastikan proyek Anda kembali sehingga dapat mengembalikannya.
Gunakan pada risiko Anda sendiri pada proyek yang ada.
Opsi yang lebih aman adalah menghasilkan kode ke folder baru dan kemudian menyalin file.
Anda harus menginstal GO 1.20 https://go.dev/doc/install
Di bawah ini adalah alat yang Anda perlukan untuk membuat dan membangun aplikasi .net Maui. Accelerator Aplikasi Maui akan menginstal komponen yang diperlukan seperti Kit Alat Komunitas Maui , SQllite yang dibutuhkan Maui-Gen .
Di bawah ini adalah langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi mau-gen siap digunakan.
go install github.com/Mrpye/maui-gen maui-gen init all Di bawah ini akan membuat Anda berpikir langkah-langkah yang perlu dilakukan sehingga kode yang dihiasi oleh Mau-Gen akan berjalan.
Pertama, Anda perlu membuat proyek baru di Visual Studio menggunakan Accelerator Aplikasi Maui ini akan menginstal komponen yang diperlukan dan mengatur proyek Anda siap untuk Mau-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 ( ) ;
}
}Catatan! Pastikan itu adalah direktori di mana semua kode berada, lihat di bawah.

Jalankan perintah berikut untuk mengatur direktori output. Di sinilah Mau-Gen akan menghasilkan kode.
Sesuaikan jalur untuk menunjuk ke proyek Anda.
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.AsyncAnda juga dapat mengubah ruang nama dalam file skema data
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
Anda sekarang dapat dengan sederhana menjalankan proyek dan Anda harus melihat.



Dokumen CLI Maui-Gen
# Run maui-get to build template documents
maui-gen gen_docsAnda dapat menemukan dokumen yang dihasilkan di sini.
# Run maui-get to build template documents
maui-gen gen_template_docsAnda dapat menemukan dokumen templat yang dihasilkan di sini.



Ini hanya bukti konsep untuk melihat apakah itu menarik perhatian jika itu terjadi maka saya akan meluangkan waktu ke dalamnya.
Jika Anda menggunakannya, saya akan tertarik untuk mendengar pendapat Anda tentang itu.
Mau-gen adalah Apache 2.0 berlisensi.