هنوز چند بایت مونده که پیدا کنم...

دیدگاه بستر یکپارچه در دات نت 5

Unified platform vision in .NET 5.0

سال گذشته تیم دات نت یک دیدگاه راجع به اکوسیستم NET. ارائه داد که مزیتش برای شما اینه که میتونید از یه مجموعه ی واحد از API ها، زبان های مختلف و ابزارهای متفاوت برای تولید مجموعه ی گسترده ای از برنامه ها مثل: موبایل، فضای ابری، دسکتاپ و اینترنت اشیا استفاده کنین؛ البته ممکنه خودتون هم متوجه شده باشین که همین الآن هم میتونین یه مجموعه ی بزرگ از پلتفرم ها رو با NET. کار کنین؛ در حالی که API ها و ابزارها همیشه برای وب و موبایل یکی نیستن یا حتی در صورت یکی بودن، ممکنه در یه زمان، منتشر نشن.

به عنوان بخشی از.NET 5.0. و NET 6.0. ، تیم دات نت داره تلاش می کنه که NET. رو به عنوان یک محصول واحد یکپارچه سازی کنه, البته با این قابلیت که شما بتونین دقیقاً همون قسمتی رو که میخواین، انتخاب و استفاده کنین. مثلاً اگر شما توسعه برنامه های موبایل رو هدف قرار دادید، دیگه نیازی نیست ابزارهای مربوط به WebAssembly رو دانلود کنید و بالعکس. همین موضوع راجع به ASP.NET Core و WPF هم صدق می کنه.

 همچنین شما یه راه خیلی ساده دارید برای بدست آوردن همه ی ابزارهای NET. و ساخت و اجرای بسته های (پکیج های) موردنیازتون از خط فرمان. فکر می کنین چه راهی؟! احسنت! دات نت تجربه یک مدیریت پکیج (Package Management) (که شامل پکیج های در حال استفاده ی فعلی هم میشه) رو برای کامپوننت های پلتفرم NET. فعال کرده که برای خیلی از موقعیت و سناریوها مناسبه. خب فکر می کنین بیشترین بهره به چه بخشی میرسه؟! دقیقاً! بخش سرهم کردن سریع محیط برنامه نویسی و توسعه و همچنین CI /CD .

تیم دات نت قصد داشت تا چشم انداز یکپارچه سازی را در دات نت 5.0 ارائه کنه، اما با وضعیتی که این بیماری همه گیر به وجود آورده ، ظاهرا مجبور شدن فقط روی نیازمندی های مشتری هاشون کار کنن. قاعدتاً تیم دات نت با تیم های زیادی از شرکت های سراسر جهان که برای سرعت بخشیدن به بکارگیری تکنولوژِی های ابری خودشون نیاز به کمک داشتن، همکاری داشته. اون شرکت ها هم خودشون رو با نیازهای در حال تغییر مشتریاشون وفق دادن؛ درنتیجه به نظر میرسه این چشم انداز یکپارچه در دو نسخه منتشر خواهد شد.

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

این چشم انداز، تغییرات بزرگی رو ایجاد می کنه که زمان اجرا( runtime) و کتابخونه ها رو تحت تأثیر قرار میده جایی که مرزهای ریپو بود قبلا. اما بعضیا نگران این هستند که مدیریت repo های بزرگ، مشکل تر باشه...باید بگم که همچین چیزی تا حالا اثبات نشده...پس نگران نباشین!

در نسخه های NET 5.0 ،Blazor. یه مثال عالیه برای اینکه به مزیت های تلفیق ریپو و یکپارچگی NET. پی ببرین. کد های زمان اجرا و کتابخونه های Blazor WebAssembly، الآن از ریپازیتوری تلفیق شده dotnet/runtime ساخته شده. یعنی  Blazor WebAssembly و همچنین Blazor روی سرور، از یه کد مشابه، مثلاً List<T> استفاده می کنن. البته این مورد قبل از دات نت 5.0 نبود. روشی که تیم دات نت برای Blazor WebAssembly پیش گرفته، خیلی شبیه به کاریه که قراره با Xamarin در NET 6.0. انجام بدن.

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

سال گذشته اعلام شد که دیگه به NET Framework. ویژگی های جدید اضافه نمیشه. از طرفی API های NET Framework. هم دیگه به NET Core. اضافه نمیشه. یعنی الآن زمان خیلی خوبیه که بتونین برنامه های .NET Framework خودتون رو به NET Core. منتقل کنین. برای برنامه نویس های سمت کلاینت دات نت فریم ورک، باید بگیم که ویندوز فریم ها و WCF در دات نت کور 5.0 پشتیبانی میشه.

از خیلی از توسعه دهنده ها شنیده شده که گفتن انتقال از NET Framework. خیلی کار ساده ایه. برای توسعه دهنده های کدهای سمت سرور .NET Framework، شما باید ASP.NET Core رو برای استفاده از .NET 5.0 بکار بگیرین. از طرفی برای توسعه دهنده های Web Forms، ما معتقدیم که Blazor تجربه ی مشابهی رو با پیاده سازی کارآمدتر و مدرن تر، فراهم می کنه. کاربرای سرورهای WCF و Workflow، تحقیق و کار بیشتری نیاز دارن.

برای شروع، انتقال NET Framework. به NET Core. ، این داکیومنت میتونه یه کار مناسب باشه.

همه ی اینا رو گفتیم تا اینو روشن کنیم که اگر از برنامه هاتون راضی هستین، همچنان اونا رو روی NET Framework. نگه دارین...هیچ خطری نداره :)

تیم ویندوز در گام بعدی برای UWP و فناوری های مرتبط با اون، در حال کار روی Project Reunion هست. نیم دات نت کور با تیم Reunion همکاری میکنه تا اطمینان حاصل بشه که نسخه های NET 5.0. و نسخه های بعدش، با WinUI و Web View 2 به خوبی کار می کنن. ریپازیتوری Project Reunion بهترین مکانه برای اینکه از پیشرفت ها آگاه بشین.


ویراست فنی: محمد ملک مکان

نویسنده : شمیم گلچین نژاد
چهارشنبه 5 آذر 1399
+ 30 -

خوشحال میشیم نظرتُ بدونیم