آشنایی با MAUI نسخه جدید دات نت

شنبه 10 مهر 1400

MAUI نسخه جدید دات نت از بهترین محصولات نرم افزاری مایکروسافت است، در این مطلب بیشتر درباره MAUI نسخه جدید دات نت صحبت خواهیم کرد.

 آشنایی با MAUI نسخه جدید دات نت

در طی سال 2020 شرکت مایکروسافت برنامه ریزی جامعی را برای انتشار یک فریم ورک مولتی پلتفرم انجام داده است که MAUI نسخه جدید دات نت نامیده می شود. این نسخه از این فریم ورک ظاهرا می تواند پلتفرم زامارین را ارتقا داده و آن را تغییر دهد. فرم های موجود در این پلتفرم توسعه دهندگان را قادر می سازد تا اپلیکیشن های بسیار قدرتمندی را بسازند و ویژگی های محلی اندروید، ویندوز، IOS و  macOS را در کنار یکدیگر ارائه دهند. ما در این مطلب قصد داریم کمی بیشتر درباره MAUI نسخه جدید دات نت صحبت کنیم و اطلاعات جامع و کاملی را درباره ویژگی های آن در اختیار شما قرار دهیم. پس ما را در ادامه این مطلب همراهی کنید.

MAUI نسخه جدید دات نت  

شرکت مایکروسافت اخیرا تلاش کرده است تا بستر دات نت را متحد کند که MAUI نسخه جدید دات نت نقش بسیار مهمی را در این موضوع ایفا می کند. این فریم ورک با ارائه یک پایگاه کد واحد با منابع داخلی به توسعه دهندگان اجازه می دهد تا به API محلی در تمامی سیستم عامل های مدرن مانند ویندوز، اندروید، IOS و macOs دسترسی پیدا کنند. این ویژگی باعث می شود تا راه توسعه دهندگانی که روی پلتفرم های مختلف کار می کنند ساده تر شود و توسعه دهندگان بتوانند تنها با یک ابزار ساده پروژه های منحصر به فرد و انعطاف پذیری را طراحی کنند که فایل های مربوط به سورس کدهای مختلف و همین طور سیستم عامل های مختلف در آن ترکیب می شوند.

MAUI نسخه جدید دات نت ساختار پروژه را به یک منبع واحد تبدیل می کند که شما می توانید در آن با یک کلیک کدهای خود را برای سیستم عامل های مختلف مستقر کنید. برخی از ویژگی های بارز MAUI نسخه جدید دات نت شامل XAML و Model-View-View-Model که به اختصار معماری MVVM نامیده می شود خواهد بود. علاوه بر این MAUI نسخه جدید دات نت به توسعه دهندگان این امکان را می دهد تا بتوانند الگوی MVU یا Model-View-Update را نیز در پروژه های خود پیاده سازی کنند.

مایکروسافت و MAUI نسخه جدید دات نت

مایکروسافت قصد دارد یک راهنمای کامل را برای مهاجرت به این پلتفرم در اختیار توسعه دهندگان قرار دهد که Try-N-Convert نامیده می شود. این راهنما می تواند مهاجرت را برای توسعه دهندگان ساده تر کند و تمامی اطلاعات برای انتقال یکپارچه برنامه های موجود به MAUI نسخه جدید دات نت را برای آنها فراهم کند. عملکرد بهتر همچنان به عنوان نقطه کانونی در MAUI نسخه جدید دات نت شناخته می شود، این پلتفرم الگوریتم های سریع تر، کامپایلرهای پیشرفته و ابزارهای خاصی را در اختیار توسعه دهندگان نرم افزار قرار خواهد داد.

اجازه دهید تا در ادامه نظر برخی از کارشناسان درباره MAUI نسخه جدید دات نت و ویژگی های آن را بشنویم و این فریم ورک جامع و کامل را بیشتر بشناسیم.

کدام تکنولوژی بومی یا مولتی پلتفرم در حال حاضر گزینه بهتری برای توسعه نرم افزار است؟

گابریل در این خصوص می گوید: من همیشه می گویم که بهترین پلتفرم پلتفرمی است که با تیم و شرایط شما بیشترین سازگاری ممکن را داشته باشد. در واقع اگر شما یک تیم برنامه نویس به زبان سی شارپ دارید ابزارهای توسعه دات نت مانند زامارین، MAUI و ... می توانند از بهترین گزینه ها برای تیم شما باشند. در طرف دیگر اگر شما یک تیم توسعه دهنده به زبان جاوا اسکریپت یا تایپ اسکریپت دارید گزینه های بسیار زیاد دیگری که به صورت نیتیو یا مولتی پلتفرم هستند در اختیار شما قرار می گیرند.

نظر فرانچسکو درباره بهترین تکنولوژی توسعه نرم افزار

به طور کلی گفتن عبارت بهترین همواره سخت و دشوار است. انتخاب درست همیشه بستگی به محدودیت های فرد دارد. با این حال به نظر من ابزارهای مولتی پلتفرم برای اکثر اپلیکیشن ها می توانند گزینه مناسبی باشند. اپلیکیشن های موبایل و دسکتاپ دارای چرخه عمر کوتاهی هستند و اکثر آنها هزینه کمتری نسبت به برنامه ها و اپلیکیشن های سازمانی نیاز دارند.

اغلب این اپلیکیشن ها یکی از چندین روش تعامل با یک برنامه سازمانی یا وب سایت های پیچیده هستند. بنابراین هم محدودیت زمان و هم محدودیت هزینه باعث می شود تا توسعه و نگهداری چنین برنامه ها و اپلیکیشن های محلی مشکلات زیادی را به همراه داشته باشد. مهم نیست که فریم ورک های مولتی پلتفرم چقدر بهینه و هوشمند باشند، اپلیکیشن های محلی و بومی همواره عملکرد بهتری دارند و از ویژگی های خاص هر دستگاه به طور کامل استفاده می کنند. بنابراین هنوز هم برخی از اپلیکیشن های خاص وجود دارند که برای طراحی آنها نیازمند زبان های نیتیو و محلی هستید ولی اکثر برنامه ها را می توان با فریم ورک های مولتی پلتفرم طراحی کرد.

نظر والریو درباره بهترین تکنولوژی توسعه نرم افزار

هر دو رویکرد دارای مزایا و معایب خاص خود هستند. برنامه های مخصوص گوشی های هوشمند که به صورت نیتیو طراحی می شوند معمولا دارای عملکرد بهتر و تجربه کاربری یکپارچه هستند. بنابراین برای کاربران نهایی یا صاحبان محصولات طراحی UI و UX با استفاده از زبان های نیتیو می تواند ایده آل باشد. با این حال نباید فراموش کنید که امروزه ساخت این برنامه ها می تواند بسیار پر هزینه و زمان بر باشد چرا که شما باید یک تیم توسعه دهنده قوی( و حتی شاید چند تیم) را استخدام کنید که بتوانند برنامه شما را برای سیستم عامل های اندروید، IOS، ویندوز و لینوکس طراحی کنند. علاوه بر این باید شرایطی را فراهم کنید که امکان استفاده از پایگاه های کد متفاوت را برای شما فراهم کند که نگهداری، ارتقا و به روز رسانی و هماهنگ سازی آنها می تواند بسیار دشوار باشد. توسعه نرم افزار به صورت مولتی پلتفرم می تواند این معایب را کاهش دهد.

با این حال نباید فراموش کنید که شما هر آنچه که با هزینه، زمان و قابلیت نگهداری راحت تر صرفه جویی می کنید را مجددا از نظر عملکردی، UI و UX و قابلیت های محدود جبران می کنید. البته این نکته را نیز باید به خاطر داشته باشید که منحنی یادگیری فریم ورک های مولتی پلتفرم به علت سطح انتزاعی بالاتری که دارند دشوارتر است.

چه تفاوتی بین MAUI نسخه جدید دات نت و پلتفرم UNO وجود دارد؟

گابریل: از آنجایی که MAUI نسخه جدید دات نت فرم های زامارین را دارا است قادر است تا به راحتی با انواع سیستم عامل های مختلف سازگار شود.

فرانچسکو: گزینه پیش فرض UNO این است که یک برنامه را در تمامی سیستم عامل ها به شکل یکسانی اجرا می کند و در عین حال این فرصت را می دهد که یک برنامه شبیه به اپلیکیشن های بومی باشد. این در حالی است که MAUI نسخه جدید دات نت بیشتر از ویژگی های بومی استفاده می کند. به طور خلاصه می توان گفت که برنامه ها و اپلیکیشن های MAUI بیشتر شبیه به برنامه های بومی و نیتیو هستند. UNO همچنین WASM را در مرورگرها مورد هدف خود قرار می دهد در حالی که MAUI ارتباط چندانی با آنها برقرار نمی کند اما به نوعی Blazor را به توسعه دهندگان پیشنهاد می دهد. شاید Blazor همچنان به عنوان انتخاب دیگری برای واحدسازی توسعه اپلیکیشن های موبایل، دسکتاپ و وب باشد ولی در نسخه 6 دات نت این طور نیست.

نظر والریو درباره تفاوت بین MAUI نسخه جدید دات نت و پلتفرم UNO

هم MAUI نسخه جدید دات نت و هم پلتفرم UNO سعی می کنند تا به یک هدف یکسان دست پیدا کنند اما باید بدانید که این دو براساس دو معماری متفاوت طراحی شده اند. MAUI دقیقا مانند زامارین فرم ها و لایه انتزاعی مخصوص به خود را در لایه های بالاتر API های نیتیو در اختیار خواهد داشت و این در حالی است که پلتفرم UNO اینترفیس های UWP را روی آنها پیاده سازی می کند. البته باید بدانید که هر دو رویکرد دارای مزایا و معایب خاص خود هستند. لایه های انتزاعی MAUI می توانند از نظر عملکردی هزینه بالایی را به وجود بیاورند( به ویژه در گوشی های هوشمند چرا که باید اهمیت بیشتری به وظایف مبتنی بر layout بدهد) اما می تواند در عین حال هزینه نگهداری را کاهش داده و کدهای متنوع تری را در اختیار شما قرار دهد.

آیا MAUI نسخه جدید دات نت می تواند تمامی الزامات را در نسخه ابتدایی برآورده کند یا نیاز به زمان دارد؟

گابریل: مکانیزم ارائه شده در این نوع فناوری به ما امکان می دهد حتی در مواردی که تفاوت زیادی وجود دارد عملکرد را برای بسترهای مختلف تضمین کنیم. بنابراین پاسخ من به این سوال مثبت است.

فرانچسکو: با نگاهی به تمامی سیستم عامل های ساخته شده توسط شرکت مایکروسافت به نظر من بعید است که MAUI نسخه جدید دات نت بتواند از همان نسخه اولیه تمامی الزامات توسعه نرم افزار به صورت مولتی پلتفرم را برآورده کند. البته ممکن است این پلتفرم 80 تا 90 درصد خواسته ها و نیازها را برآورده کند و بسیار مفید و موثر باشد. برای این که MAUI نسخه جدید دات نت به یک پلتفرم کامل تبدیل شود که تمامی ابزارهای مورد نیاز برای توسعه مولتی پلتفرم را در اختیار شما قرار دهد ممکن است به یک سال زمان نیاز داشته باشد.

والریو: امیدوارم چنین باشد. از نظر واقع بینانه من فکر می کنم این کار بسیار سخت خواهد بود. من از ابتدا انتظار سازگاری خوب بین پلتفرم ها و سیستم عامل های مختلف را از این فریم ورک ندارم به ویژه از نظر UI و UX که مشکلات زیادی در این خصوص وجود دارد. چنین ایده هایی معمولا در ابتدا بسیار بلند پروازانه به نظر می رسند ولی بعدها با گذشت زمان تکمیل شده و تبدیل به یک پلتفرم مناسب برای استفاده می شوند.

به نظر شما چقدر زمان می برد تا مایکروسافت MAUI نسخه جدید دات نت را منتشر کند؟

گابریل: مایکروسافت به طور منظم نسخه های محیط نرم افزاری خود را ارائه می دهد. این سوال کمی پیچیده است زیرا شما به عنوان یک توسعه دهنده نرم افزار نمی توانید تنها به زمان انتشار MAUI نسخه جدید دات نت فکر کنید. شما باید این را در نظر بگیرید که چه زمانی این پلتفرم به حالت پایدار می رسد و نسخه LTS آن در دسترس قرار می گیرد. به نظر من این کار کمی بیشتر از نقشه راه ارائه شده توسط مایکروسافت زمان نیاز دارد.

فرانچسکو: طبق جدول زمانی ارائه شده MAUI نسخه جدید دات نت باید همراه با انتشار نسخه 6 دات نت در ماه نوامبر منتشر شود. باید به این جدول زمانی احترام گذاشت اما در بدترین حالت این پلتفرم منتشر شده و چند ماه بعد راه اندازی می شود. این اتفاق دقیقا مشابه اتفاقی است که در انتشار Blazor و نسخه 3.1 دات نت اتفاق افتاد.

والریو: جدول زمانی رسمی MAUI نسخه جدید دات نت خوشبینانه به نظر می آید ولی طبق شواهد به نظر می رسد که شرکت مایکروسافت سرمایه گذاری های کلانی را در این پروژه انجام داده است و آنها قبلا موفق شده اند که نسخه های بزرگ را بدون تاخیر زیادی به کاربران خود ارائه دهند( به عنوان مثال نسخه 5 دات نت). به نظر من آنها تمام تلاش خود را به کار می گیرند تا همزمان با انتشار نسخه 6 دات نت این پلتفرم را نیز منتشر کنند چرا که این مسئله از نظر بازاریابی برای آنها ایده آل خواهد بود و می تواند به جذب بسیاری از کاربران و توسعه دهندگان اولیه کمک کند.

خلاصه مطلب

راه اندازی MAUI نسخه جدید دات نت بدون شک انقلابی در نحوه طراحی و ساخت اپلیکیشن ها توسط توسعه دهندگان را به وجود خواهد آورد. توسعه دهندگان می توانند منتظر استقرار سریع این پلتفرم باشند. البته این موضوع که MAUI نسخه جدید دات نت پروژه های مخصوص این پلتفرم را ارائه می دهد یا این که یک سیستم کدنویسی مشترک است در پس از انتشار مشخص خواهد شد. برای تخمین میزان تاثیرگذاری MAUI نسخه جدید دات نت خیلی زود است اما بدون شک این پلتفرم ارزش انتظار کشیدن را خواهد داشت و در حال حاضر با حرکت این پلتفرم به سمت گیت هاب هیجان زیادی به وجود آمده است و توسعه دهندگان منتظر هستند که ببینند MAUI نسخه جدید دات نت چگونه در سیستم عامل های مختلف نمایش داده می شود و چگونه یک پلتفرم یکسان برای تمامی این سیستم عامل ها به وجود می آورد. با انتشار هر یک از پیش نمایش های نسخه 6 دات نت احتمالا برخی از ویژگی های MAUI نسخه جدید دات نت نیز معرفی می شود که توسعه دهندگان می توانند اطلاعات زیادی در این خصوص به دست بیاورند.

آشنایی با Gabriel Baptista یکی از مصاحبه کنندگان این مطلب

Gabriel Baptista یک معمار نرم افزار است که تیم های فنی را در طیف متنوعی از پروژه های کوچک و پروژه های صنعتی که به طور گسترده ای از محصولات مایکروسافت در آنها استفاده شده است هدایت کرده است. تخصص اصلی او در زمینه استفاده از  Azure Platform-as-a-Service یا PaaS است و البته به عنوان استاد در زمینه محاسبات نیز فعالیت داشته و مقالات بسیار زیادی را در این زمینه منتشر کرده است. او موضوعات مختلفی مربوط به مهندسی نرم افزار، توسعه نرم افزار و معماری را تدریس می کند. او همچنین یکی از سخنرانان اصلی سایت های فعال در زمینه دات نت می باشد.

آشنایی با Francesco Abbruzzese

Francesco Abbruzzese ابزار MVC Controls Toolkit را طراحی و ساخته است. او همچنین از زمان انتشار اولین نسخه ASP.NET MVC از طریق آموزش ها، مقالات و توسعه ابزارها به انتشار و محبوبیت بالای استک وب مایکروسافت کمک زیادی کرده است. او درباره دات نت و فناوری های سمت کلاینت در وبلاگ خود به نام Dot Net Programming و بسیاری از مجلات مختلف دنیا مقالات زیادی را منتشر کرده است. شرکت او با نام Mvcct Team برنامه های تحت وب، نرم افزارهای مبتنی بر هوش مصنوعی، محصولات SAS و ابزارها و سرویس های مختلفی را در این زمینه منتشر کرده است.

آشنایی با Valerio De Sanctis

Valerio De Sanctis یک متخصص IT ماهر با بیست سال تجربه در زمینه برنامه نویسی، توسعه اپلیکیشن های مبتنی بر وب و مدیریت پروژه با استفاده از فریم ورک های مبتنی بر ASP.NET، پی اچ پی، جاوا و جاوا اسکریپت می باشد. او در بسیاری از شرکت های مالی فعالیت کرده است و همچنین بنیانگذار اصلی Ryadel نیز می باشد.

برنامه نویسان

نویسنده 3284 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید