در نسخه 5 .NET شرکت مایکروسافت چه چیزهای جدیدی وجود دارد

یکشنبه 14 اردیبهشت 1399

نسخه 5 .NET دارای ویژگی های جدید بسیار زیادی می باشد، ما در این مطلب قصد داریم کمی بیشتر درباره نسخه 5 .NET و ویژگی های آن صحبت کنیم.

 در نسخه 5 .NET شرکت مایکروسافت چه چیزهای جدیدی وجود دارد

مایکروسافت یک پیش نمایش از نسخه 5 .NET را منتشر کرده است. ادغام کردن فریم ورک .NET و هسته اصلی آن باعث شده است تا پلتفرم .NET به شکل واحدی در بیاید. نسخه 5 .NET توسط شرکت مایکروسافت با عنوان آینده .NET معرفی و توصیف شده است. پیشنمایش دوم از این نسخه از .NET در 2 آوریل منتشر می شود بهبودهای زیادی را در زمینه افزایش کدهای کیفیت دارا خواهد بود، علاوه بر این در کامپایلر Ryujit نیز پیشرفت هایی صورت خواهد گرفت و garbage collection این کامپایلر نیز بهبود پیدا خواهد کرد.

اهداف سطح بالای نسخه 5 .NET

اهداف سطح بالای .NET 5 شامل فراهم کردن یک .NET SDK واحد است که شامل یک BCL( کتابخانه کلاس پایه) نیز در سراسر آن می باشد. اپلیکیشن های .NET 5 و پشتیبانی از اپلیکیشن های نیتیو و مبتنی بر وب در بسیاری از سیستم عامل های مختلف یکی از مهم ترین ویژگی های این نسخه به شمار می آید. برای توسعه اپلیکیشن های نیتیو پروژه های تک دستگاهی می تواند از اپلیکیشنی برای کار کردن در دستگاه هایی مانند ویندوز، Microsoft Duo( اندروید) و Apple iOS پشتیبانی کند که با استفاده از کنترل های نیتیو در این پلتفرم ها انجام می شود.

عملکرد فوق العاده اپلیکیشن های مبتنی بر کلود یکی دیگر از اهداف نسخه 5 .NET به شمار می آید. این عملکرد بهتر با استفاده از الگوریتم های سریع تر در BCL فراهم شده است. علاوه بر این می توان به ویژگی هایی همچون پشتیبانی بهتر از container ها در زمان اجرا و پشتیبانی از HTTP3 اشاره کرد.

 نسخه 5 .NET

به روزرسانی کلاس BitArray

در نسخه 5 .NET کلاس BitArray که برای مدیریت آرایه ای از بیت ها فراهم شده است به صورت کامل به روزرسانی شده است و اجرای سریع تری را در سمت سخت افزار فراهم می کند. مایکروسافت می گوید بهبودهایی که در این کلاس صورت گرفته است قابل توجه است. علاوه بر این On Stack replacement (OSR) در CLR به شکلی پیاده سازی شده است تا به کدهایی که در حال حاضر توسط متدها اجرا می شوند این اجازه را بدهد که در حال اجرا این کدها تغییر کنند، دقت داشته باشید که این کار زمانی انجام می شود که متد مورد نظر در استک فعال است. این قابلیت که برای بهبود عملکردهای تلفیقی در .NET مورد استفاده قرار می گیرد در حال حاضر به  صورت آزمایشی در حال اجرا می باشد. یکی دیگر از بهبودهایی که در نسخه 5 .NET انجام شده است مربوط به کد کیفیت RyuJIT است برای ارسال داده ساختارها به عنوان آرگومان مورد استفاده قرار می گیرد. علاوه بر این انتظار می رود که RyuJIT عملکرد بهتری را درباره جنریک ها پیشنهاد بدهد.

 نسخه 5 .NET

برخی از قابلیت های دیگر این نسخه از .NET

نکته دیگری که درباره این نسخه از .NET وجود دارد این اضافه شدن پشتیبانی از حفظ منابع به System.Text.Json است که حلقه منابع را قادر می سازد تا JSON serialization را مدیریت کند. همچنین کلاس های ثابت و ساختار داده ها در این نسخه برای JsonSerializer پشتیبانی می شوند. مدیریت مقادیر null نیز در این نسخه اضافه شده است.

 نسخه 5 .NET

ارجاع دهی خودکار SDK

SDK نسخه 5 .NET امروزه ارجاع دهی پکیج NET Framework.Reference Assemblies  را به صورت خودکار در یک فریم ورک هدف .NET در فایل پروژه انجام می دهد. این تغییر به شما اجازه می دهد تا پروژه های فریم ورک .NET را بدون داشتن پکیج هدف فریم ورک .NET بر روی ماشین مورد نظر خود نصب کنید. این بهبود به صورت اختصاصی برای پکیج های هدف انجام شده است و برای سایر وابستگی های مربوط به پروژه کاربرد چندانی ندارد.

 نسخه 5 .NET

بهینه سازی های خاصی که در پیشنمایش دوم نسخه 5 .NET شاهد آن خواهیم بود

تغییرات بسیار زیادی در RyuJIT انجام شده است تا کیفیت کدهای ماشین که تولید می شوند را بهبود دهد. از جمله این تغییرات می توان به حذف شدن راحت تر مقداردهی های صفر تکراری و بهینه سازی مقادیر null اشاره کرد.

garbage collection سرور که بر روی thread های مختلف قرار دارد می تواند همچنان با اشیا 0/1 کار کند و با استفاده از اشیایی که از قبل ساخته شده اند فعال بمانند. کار کردن بر روی thread های مختلف مکث های زودگذر GC را در سناریوهایی که برخی از thread های GC از برخی دیگر طولانی تر دیده می شوند را کاهش می دهد. علاوه بر این بخشی از ویژگی Pinned Object Heap نیز پیاده سازی شده است. بخش داخلی آن که مربوط به garbage collection به collector این اجازه را می دهد تا اشیا پین شده را مدیریت کند. این موضوع از تاثیرات منفی اشیا پین شده بر روی heap های عمومی جلوگیری می کند.

 نسخه 5 .NET

نسخه 5 .NET شامل چه مواردی است؟

-          هسته ASP.NET که یک فریم ورک متن باز برای اپلیکیشن های تحت وب می باشد.

-          تکنولوژی دسترسی به داده های هسته فریم ورک Entity

-          WinForm ها

-          WPF (Windows Presentation Foundation)

-          مدل طراحی اپلیکیشن موبایل زامارین

-          ML.NET

مایکروسافت یک پیشنمایش از SDK نسخه 5 .NET و یک پیشنمایش از زمان اجرا را به کاربران خود ارائه می دهد. مایکروسافت درباره این نسخه می گوید که نسخه 5 .NET یک پلتفرم واحد را برای ساخت هر نوع اپلیکیشنی ارائه خواهد داد. این شرکت تقریبا نیمی از ترافیک خود را بر روی وب سایت .NET قرار داده است تا بتواند این نسخه را به خوبی آزمایش کند. توجه داشته باشید که این آزمایش با استفاده از Azure load-balancing انجام می شود.

مایکروسافت به توسعه دهندگانی که با استفاده از.NET core 3.1 اقدام به ساخت اپلیکیشن های جدید می کنند توصیه می کند که به نسخه 5 .NET مهاجرت کنند. این شرکت ادعا می کند که اپلیکیشن هایی که با این فریم ورک ساخته می شوند دارای قابلیت های بسیار زیادی خواهند بود.  

ایمان مدائنی

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

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

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