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 จะติดตั้งส่วนประกอบที่ต้องการเช่น ชุดเครื่องมือชุมชน Maui , Sqllite ที่ต้องการ Maui-Gen
ด้านล่างนี้เป็นขั้นตอนที่จำเป็นในการติดตั้งและกำหนดค่า MAUI-GEN ให้พร้อมสำหรับการใช้งาน
go install github.com/Mrpye/maui-gen maui-gen init all ด้านล่างนี้จะนำคุณคิดว่าขั้นตอนที่จำเป็นต้องดำเนินการเพื่อให้รหัสประเภทโดย Maui-Gen จะทำงาน
ก่อนอื่นคุณจะต้องสร้างโครงการใหม่ใน Visual Studio โดยใช้ App Accelerator Maui สิ่งนี้จะติดตั้งส่วนประกอบที่จำเป็นและตั้งค่าโครงการของคุณให้พร้อมสำหรับ 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นอกจากนี้คุณยังสามารถเปลี่ยนพื้นที่ชื่อในไฟล์ Schema Data
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 ที่ได้รับอนุญาต