Maui-gen هو مولد رمز يعتمد على القالب لبناء السقالات اللازمة لتطبيق .NET Maui. باستخدام مخطط بيانات لوصف حقول البيانات المطلوبة ، يقوم Maui-gen بإنشاء النماذج ، ووجهات النظر ، وعرض النموذج والقائمة ، والتعديل ، والصفحات التفصيلية ، التي يتم ملؤها مع عناصر النماذج اللازمة لتحرير البيانات من النموذج وقراءةها ، بالإضافة إلى خدمة SQLLITE CRUD لتخزين البيانات واسترجاعها. ينشئ Maui-Gen أيضًا ملفات داعمة ويحقق بيانات Singleton و Route عند الحاجة.
بعد تحريك أحد تطبيقات Xamarin إلى Maui ، وجدت نفسي أحدق من نقطة الصفر وهذا يعني إعادة إنشاء النماذج للصفحات ECT. لقد وجدت أن هذا يستغرق وقتًا طويلاً ، لقد قمت بتسريع العملية قليلاً من خلال إنشاء قوالب ، لكن هذا عمل فقط كنقطة تحديق ولا يزال يتعين عليهم تعديله لتناسب المتطلبات.
لذلك قررت أن أكتب أداة maui-gen للمساعدة في توفير الوقت في كتابة الكود الأساسي اللازم لنماذج إدخال بيانات MAUI. لقد وجدت هذه أداة مفيدة حقًا ، لذا قررت وضعها هناك لاستخدامها الآخر.
انها ليست جميلة أو مصقولة بشكل جيد ولكن أكثر من دليل على المفهوم. إذا كان هناك مصلحة ، فستنظر في استثمار الوقت.
يمكنك تطبيق التغييرات مباشرة على مشروع .NET MAUI ، لكن في هذه المرحلة ، نصحت بشدة القيام بذلك فقط في مشروع تم إنشاؤه حديثًا ، بحيث لا يكسر عملك الشاق أو التأكد من احتياطي مشروعك حتى يتمكن من استعادته.
استخدم مخاطرك على المشروع الحالي.
يتمثل الخيار الأكثر أمانًا في إنشاء الرمز إلى مجلد جديد ثم نسخ الملفات.
ستحتاج إلى تثبيت GO 1.20 https://go.dev/doc/install
فيما يلي الأدوات التي ستحتاج إلى إنشاء تطبيق .NET Maui. سيقوم مسرع App Maui بتثبيت المكونات المطلوبة مثل مجموعة أدوات مجتمع Maui ، Sqllite التي يحتاجها Maui-gen .
فيما يلي الخطوات المطلوبة لتثبيت وتكوين Maui-gen جاهز للاستخدام.
go install github.com/Mrpye/maui-gen maui-gen init all ستأخذك أدناه التفكير في أن الخطوات اللازمة لتنفيذها بحيث سيتم تشغيل الكود الذي تم تشغيله بواسطة Maui-gen.
ستحتاج أولاً إلى إنشاء مشروع جديد في Visual Studio باستخدام Maui App App Applerator ، وسيقوم هذا بتثبيت المكونات المطلوبة وإعداد مشروعك جاهزًا لـ 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 مرخص.