MAUI چیه؟
.NET MAUI چیست؟
.NET MAUI یا همان .NET Multi-platform App UI جدیدترین فریمورک مایکروسافت برای توسعه اپلیکیشنهای چندسکویی است. این فریمورک ادامهی مسیر Xamarin.Forms محسوب میشود و با تکیه بر .NET 6 و نسخههای بعدی طراحی شده تا امکان ساخت برنامههای موبایل، دسکتاپ و تبلت را تنها با یک کدبیس واحد فراهم کند. به کمک MAUI میتوان برای سیستمعاملهای اندروید، iOS، ویندوز و macOS اپلیکیشن ساخت و آنها را با همان حس و ظاهر نیتیو هر پلتفرم اجرا کرد.
معماری و ساختار
یکی از ویژگیهای مهم MAUI، معماری چندلایهی آن است. در لایهی پایه، هستهی .NET قرار دارد که مسئول اجرای کدهاست. لایهی بالاتر، فریمورک MAUI است که شامل کنترلها، Layoutها و ابزارهای رابط کاربری میشود. برای ارتباط میان این کنترلها و اجزای نیتیو سیستمعاملها، از ساختاری به نام Handler استفاده شده است. Handlerها نسل جدیدی از همان Renderها در Xamarin.Forms هستند که عملکرد بهینهتر و سریعتری دارند. در نهایت، لایهی مقصد همان سیستمعاملهایی هستند که اپلیکیشن روی آنها اجرا خواهد شد.
زبانها و ابزار توسعه
برای توسعه در .NET MAUI از زبان C# استفاده میشود و طراحی رابط کاربری نیز هم با XAML و هم با کدنویسی مستقیم در C# امکانپذیر است. ابزار اصلی پیشنهادی برای کار با این فریمورک، Visual Studio 2022 و نسخههای جدیدتر آن است که قابلیتهای کاربردی مثل Hot Reload را ارائه میدهد. این قابلیت به توسعهدهنده اجازه میدهد بدون نیاز به بیلد مجدد کامل پروژه، تغییرات در رابط کاربری را بلافاصله مشاهده کند.
مزایا و قابلیتها
مزیت اصلی MAUI این است که توسعهدهنده فقط یک بار کدنویسی میکند اما خروجی نهایی را میتواند روی چندین پلتفرم منتشر کند. این موضوع علاوه بر صرفهجویی در زمان، هزینهی توسعه و نگهداری پروژه را نیز کاهش میدهد. از سوی دیگر، MAUI دسترسی مستقیم به APIهای نیتیو سیستمعاملها را فراهم میکند و این یعنی میتوان بدون واسطه و با بالاترین کارایی، به امکانات سختافزاری و نرمافزاری هر پلتفرم دسترسی داشت. پشتیبانی رسمی مایکروسافت نیز تضمین میکند که این فریمورک برای سالهای آینده بهروز و ایمن باقی بماند.
تفاوت با Xamarin.Forms
اگرچه Xamarin.Forms هم برای توسعهی کراسپلتفرم استفاده میشد، اما محدودیت آن در پشتیبانی از دسکتاپ باعث میشد بسیاری از پروژهها نتوانند تنها با آن جلو بروند. MAUI این محدودیت را برطرف کرده و علاوه بر موبایل، دسکتاپ را هم پوشش میدهد. همچنین، به جای استفاده از Rendererها، ساختار Handler معرفی شده که سبکتر و سریعتر است. به همین دلیل اپلیکیشنهای ساختهشده با MAUI از نظر عملکرد و تجربه کاربری نسبت به Xamarin.Forms برتری قابل توجهی دارند.
زبانها و ابزارها
- C# زبان اصلی توسعه است.
- برای UI میتوان از XAML یا کدنویسی C# استفاده کرد.
- محیط توسعه پیشنهادی: Visual Studio 2022 به بالا.
- امکان Hot Reload برای تست سریع تغییرات UI.