آمنوتجیکارا
آمنوتجیکارا
خواندن ۵ دقیقه·۳ سال پیش

معرفی و راهنمایی جهت انتخاب پلتفرم های جدید مایکروسافت

اگر به تکنولوژی های شرکت مایکروسافت علاقه مند باشید و اخبار اون رو دنبال کرده باشید قطعا در جریان هستید که علاوه بر تکنولوژی های قدیمی (WPF, UWP, Xamarin) تکنولوژی های جدیدی (Project Reunion, Maui, WinUI, Uno, Xaml Island) بصورت همزمان در حال توسعه هستند. اکثر این تکنولوژی ها شبیه و نزدیک به هم هستند و برای کسی که تازه کار باشد ممکن است دچار سردرگمی شود. و چون بصورت همزمان در حال توسعه می باشند ممکن سوالاتی برای شما پیش بیاید.

در این پست هر کدام از این تکنولوژی ها را معرفی کرده و در انتخاب صحیح به شما کمک خواهیم کرد.

ساخت برنامه با WPF

به کمک تکنولوژی WPF ما میتوانیم نرم افزارهای دسکتاپ را توسعه دهیم. WPF هم چنان پشتیبانی میشود و در سال های اخیر بصورت متن باز منتشر شده است. اگر نیاز دارید که برنامه شما در ویندوز های 7 تا ویندوز 11 اجرا شود میتوانید از WPF استفاده کنید. لازم به ذکر است که برنامه های WPF به عنوان Win32 یا Desktop شناخته میشوند.

سورس کد

ساخت برنامه با UWP

UWP بعد از WPF و با انتشار ویندوز 10 معرفی شد. علت انتشار هماهنگی برنامه ها با سیستم عامل ویندوز 10 و امنیت بیشتر بود.

به طور فنی برنامه ای که بصورت UWP ساخته میشود همان WPF است با این تفاوت که داخل SandBox اجرا میشود و با محیط خارج ارتباطی ندارد. بدلیل مسائل امنیتی بسیاری از کارهای ساده و مهم در UWP غیرممکن (البته راه حل هایی وجود دارد) می باشد و نیاز به دسترسی کاربر دارد. به عنوان مثال API های system.Io.File یا Process قابل استفاده نمی باشند.

نرم افزارهایی که با UWP ساخته میشوند فقط بر روی ویندوز 10 به بالا قابلیت اجرا دارند و توزیع ان از طریق استور مایکروسافت امکان پذیر است. در صورت نیاز به توزیع دستی (فایل نصبی) توسعه دهنده باید فایل نصبی را بصورت دیجیتالی امضا کند که دردسر های خودش را دارد.

ساخت برنامه با Xamarin

اگر نیاز دارید که برای سیستم عامل اندروید و مک برنامه بنویسید زامارین میتواند به شما کمک کند.

شروع با زامارین

ساخت برنامه با WinUI

بعد از معرفی UWP نیاز به یک فریمورک رابط کاربری قوی جهت جذب کاربران به سمت UWP احساس شد. در نتیجه مایکروسافت فریمورک WinUI را ایجاد کرد. WinUI در 2 نسخه در حال توسعه می باشد.

WinUI 2.X

این نسخه از WinUI فقط قابلیت استفاده در برنامه های مبتنی بر UWP را دارد. اخیرا نسخه 2.6 آن منتشر شده که شامل تغییرات بصری عظیم می باشد. لازم به ذکر است که ویندوز 11 که اخیرا معرفی شد بر پایه WinUI 2.6 ایجاد شده است.

WinUI 3.X

این نسخه از WinUI قابلیت استفاده در پلتفرم های دیگر را محیا می کند. در حال حاظر بصورت پیش نمایش است و بر پایه WinUI 2.5 می باشد. در 3 ماهه آخر سال 2021 تمامی استایل ها بر پایه نسخه 2.6 خواهد بود.

سورس کد

برنامه دمو شامل تمامی کنترل ها و استایل ها نسخه 2.6

برنامه دمو شامل تمامی کنترل ها و استایل ها نسخه 3

پلتفرم Uno

پلتفرم اونو توسط مایکروسافت ایجاد نشده، اما توسط آن پشتیبانی میشود. شما به کمک پلتفرم اونو میتوانید به کمک WinUI 3 برنامه های خود را در ویندوز 7 (به کمک موتور رندر Skia ) تا ویندوز 11، لینوکس (به کمک Skia)، مک و حتی موبایل اجرا کنید.

سورس کد

وب سایت

پلتفرم Maui

مائویی در واقع نسل بعدی زامارین می باشد و بصورت تک پروژه ای ایجاد شده است. در زامارین شما برای هر پلتفرم (ویندوز، اندروید، مک و...) یک پروژه جداگانه داشتید اما در مائویی فقط یک پروژه واحد وجود دارد. پس اگر نیاز دارید که برای گوشی های همراه برنامه نویسی کنید میتوانید از مائویی استفاده کنید. لازم به ذکر است که به کمک مائویی شما میتوانید برای لینوکس و مک هم برنامه ایجاد کنید. اما بدلیل وجود WinUI در سایر پلتفرم ها بهتر است از مائویی فقط برای ایجاد برنامه های موبایل استفاده کنید.

سورس کد


پلتفرم Project Reunion

اخیرا نام این پروژه به Windows App SDK تغییر یافته است. به کمک این پروژه میتوانید از WinUI 3 در برنامه های WPF و سایر تکنولوژی های Desktop استفاده کنید. و کل برنامه خود را مدرن کنید.

لازم به ذکر است که برنامه های ساخته شده توسط Reunion فقط در ویندوز 10 به بالا اجرا میشوند.

در حال حاظر جهت اجرای برنامه نیاز هست که برنامه بصورت MSIX پکیج بشود.

در نسخه 1.0 که تا چند ماه اینده منتشر خواهد شد نیازی به پکیج کردن نخواهد بود.

سورس کد

پلتفرم Xaml Island

این پلتفرم در واقع پلی است که شما میتوانید از کنترل های UWP یا WinUI در برنامه های دسکتاپ (WPF) استفاده کنید. تفاوت این پلتفرم با Reunion در این است که شما فقط میتوانید بخشی از برنامه خود را مدرن کنید و قسمت های مدرن شده در ویندوز های پایین تر از ویندوز 10 کار نخواهند کرد. اما در Reunion تمام بخش های برنامه شما مدرن خواهد شد.

سخن آخر اینکه اگر نیاز به برنامه های موبایل دارید بهتر است از مائویی استفاده کنید بدلیل اینکه:

  • نسل بعدی زامارین است
  • از دات نت 6 به بالا استفاده می کند
  • روان، سریع و انعطاف پذیر است
  • خطاهای بسیار کمتری دارد
  • مخصوص موبایل طراحی شده است
  • تجربه بیشتری نسبت به سایر پلتفرم ها دارد

اگر نیاز به اجرای برنامه بصورت کراس پلتفرم دارید (ویندوز/لینوکس/مک) بهتر است از Uno استفاده کنید بدلیل اینکه:

  • مخصوص کراس پلتفرم طراحی شده
  • از WinUI 3 استفاده می کند
  • برای ویندوز 10 به بالا از تکنولوژی UWP و برای ویندوز 7 و لینوکس از Skia استفاده می کند

اگر نیاز دارید برنامه شما فقط در ویندوز 10 به بالا اجرا شود بهتر است از Project Reunion استفاده کنید بدلیل اینکه:

  • از WinUI 3 استفاده می کند
  • تمام ویژگی های UWP را دارد
  • محدودیت های UWP را ندارد
  • بصورت Full Trust اجرا میشود
  • پیچیدگی های UWP را ندارد
  • از پلتفرم WPF برای اجرا استفاده می کند

اگر نیاز دارید که برنامه شما در ویندوز 7 به بالا اجرا شود و در ویندوز 10 ظاهر مدرن تری به خود بگیرد بهتر است از Xaml Island استفاده کنید بدلیل اینکه:

  • فقط بخشی از برنامه را مدرن می کند
  • قسمت های مدرن شده در نسخه های قبل ویندوز 10 اجرا نمیشود




برنامه نویسیدات نتسی شارپwinuiتجربه کاربری
شاید از این پست‌ها خوشتان بیاید