Maui-Gen은 데이터 중심 .NET MAUI 애플리케이션에 필요한 스캐 폴딩을 구축하기위한 템플릿 기반 코드 생성기입니다. Maui-Gen은 필수 데이터 필드를 설명하기 위해 데이터 스키마를 사용하여 모델,보기, 뷰 모델 및 목록, 편집, 디테일 페이지를 생성하며, 모델의 데이터를 편집하고 읽는 데 필요한 양식 요소와 데이터 저장 및 검색을위한 Sqllite CRUD 서비스를 작성하는 데 필요한 양식 요소를 생성합니다. Maui-Gen은 지원 파일을 생성하고 필요한 경우 싱글 톤 및 경로 데이터를 주입합니다.
내 Xamarin 앱 중 하나를 Maui로 옮긴 후 나는 처음부터 쳐다 보는 것을 발견했으며 이것은 모델보기 페이지 ect를 재현하는 것을 의미했습니다. 템플릿을 만들어 프로세스의 속도를 높이는 데 시간이 많이 걸렸다는 것을 알았지 만 이것은 쳐다 보는 지점으로 만 작동했으며 여전히 요구 사항에 맞게 편집해야했습니다.
그래서 나는 Maui-Gen에 Maui 데이터 입력 양식에 필요한 기본 코드를 작성하는 데 시간을 절약하는 데 도움이되는 도구를 작성하기로 결정했습니다. 나는 이것을 정말 유용한 도구라는 것을 알았으므로 다른 것을 사용하기로 결정했습니다.
그것은 예쁘거나 잘 세련되지 않았지만 개념 증명이 더 많습니다. 관심이 있다면 시간을 투자 할 것입니다.
.NET Maui 프로젝트에 직접 변경 사항을 적용 할 수 있지만이 시점에서 새로 생성 된 프로젝트에서만이 작업을 수행하는 것이 좋습니다. 따라서 노력을 깨뜨 리거나 프로젝트가 백업되므로 복원 할 수 있습니다.
기존 프로젝트에서 자신의 위험에 사용하십시오.
더 안전한 옵션은 새 폴더에 코드를 생성 한 다음 파일을 복사하는 것입니다.
go 1.20 https://go.dev/doc/install을 설치해야합니다
다음은 .NET Maui 응용 프로그램을 작성하고 빌드하는 데 필요한 도구입니다. Maui App Accelerator는 Maui -Gen이 필요로하는 Sqllite 와 같은 필요한 구성 요소를 설치합니다.
다음은 Maui-Gen을 설치하고 구성하는 데 필요한 단계입니다.
go install github.com/Mrpye/maui-gen maui-gen init all 다음은 Maui-Gen이 장착 한 코드가 실행되도록 수행해야한다고 생각합니다.
먼저 Maui App Accelerator를 사용하여 Visual Studio에서 새 프로젝트를 만들어야합니다. 이는 필요한 구성 요소를 설치하고 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 ( ) ;
}
}메모! 모든 코드가있는 디렉토리인지 확인하십시오. 아래를 참조하십시오.

다음 명령을 실행하여 출력 디렉토리를 설정하십시오. 이것은 Maui-Gen이 코드를 출력 할 곳입니다.
프로젝트를 가리 키도록 경로를 조정하십시오.
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.Async데이터 스키마 파일에서 이름 공간을 변경할 수도 있습니다.
name_space : " DemoMauiApp "
resources :
- App
- Enums
- AppShell
- MauiProgram maui-gen build --namespace " [solution name] "
이제 프로젝트를 간단하게 실행할 수 있습니다.



Maui-Gen CLI 문서
# Run maui-get to build template documents
maui-gen gen_docs여기에서 생성 된 문서를 찾을 수 있습니다.
# Run maui-get to build template documents
maui-gen gen_template_docs여기에서 생성 된 템플릿 문서를 찾을 수 있습니다.



이것은 개념의 증거 일뿐입니다. 그렇다면주의를 기울이는 지 확인하는 것이 좋습니다.
당신이 그것을 사용한다면 나는 당신이 그것에 대해 어떻게 생각하는지 듣고 싶습니다.
Maui-Gen은 Apache 2.0 라이센스입니다.