ویژگی‌های جدید NET Core: 3.0. که باید بدانید

یکشنبه 8 دی 1398

NET Core 1.0. در نوامبر 2014 منتشر شد که در سیستم عامل‌های لینوکس، ویندوز و مک اجرا می‌شود. علاوه‌براین یک محیط توسعه رایگان و منبع باز (open-source) برای ساخت هر نوع برنامه‌ای مثل برنامه‌های وب، اندروید، cloud (فضای ابری)، iOS و IoT است. Net core. توسط مایکروسافت و همچنین جامعه Net. در گیت‌هاب نگهداری می‌شود.

ویژگی‌های جدید NET Core: 3.0. که باید بدانید

در Net core. می‌توانید بدون نگرانی در مورد خراب شدن برنامه‌های موجود، نسخه جدیدی را نصب کنید. علاوه‌براین، برنامه‌ها می‌توانند به راحتی NET framework. را جاسازی کنند. در نسخه اول، تمرکز اصلی آن‌ها کارایی بالای وب و میکروسرویس‌ها بود. در نسخه Core 2.0، آن‌ها برای ساده‌سازی پورت برنامه‌های وب، SignalIR، Razor Pages و غیره چیزهای زیادی را اضافه کردند. در حال حاضر آخرین نسخه آن Net Core 3.0. است. در این مقاله، مهم‌ترین پیشرفت‌ها و آخرین ویژگی‌های جدید Net core. بیان شده است.

برنامه‌های دسکتاپ ویندوز

نکته برجسته NET Core 3. پشتیبانی از برنامه‌های دسکتاپ ویندوز است، به خصوص Windows Forms، Windows Presentation Framework (WPF) و UWP XAML. شما می‌توانید برنامه‌های دسکتاپ ویندوز جدید و موجود را در NET Core. اجرا کرده و از تمام مزایایی که NET Core. ارائه می‌دهد بهره‌مند شوید.

می‌توان برنامه‌های دسکتاپ ویندوز را با استفاده از Windows Forms و WPF با NET Core 3.0. فراهم کرد. این از کنترل‌های مدرن و استایل‌های آشنا از Windows UI XAML Library (WinUI) پشتیبانی می‌کند. همچنین بخشی از Windows .NET Core 3.0 SDK است.

پیشرفت‌های زبان C# 8.0

در Net core 3.0C# 8.0 نیز منتشر شده است، که شامل انواع Nullable referenceها می‌باشد. این مورد قبلا در انتشار توسعه C# 7.0 در نظر گرفته شده بود اما تا نسخه 8 به تعویق افتاد. دغدغه اصلی این ویژگی کمک به توسعه‌دهندگان است تا از exceptionهای مدیریت نشده NullReferenceException جلوگیری کنند. ایده اصلی این است که به تعریف انواع متغیرها اجازه می‌دهد تا مشخص کنند آیا آن‌ها می‌توانند یک مقدار null را بگیرند یا خیر. همان‌طور که تکنولوژی بیشتر به سمت میکروسرویس‌ها و معماری مبتنی بر cloud می‌رود، ابزارهای دیگر زبان، مورد نیاز می‌شوند. C# 8.0 این واژگان را گسترش می‌دهد به طوری که شما می‌توانید از عبارات الگویی بیشتری در نقاط افزایش یافته در کدتان استفاده کنید. C# 8.0 الگوهای Tuple، الگوهای Positional، Switch expression و الگوهای Property را معرفی می‌کند.

Pattern matching ابزاری را برای ارائه قابلیت‌هایی در انواع داده‌های مرتبط اما متفاوت ارائه می‌دهد. C# 7.0 با استفاده از عبارت is و switch ، سینتکس را برای الگوهای type و الگوهای constant معرفی کرده است. این ویژگی‌ها اولین گام‌های تجربی را در جهت پشتیبانی از نمونه‌های برنامه‌نویسی نشان می‌دهد که در آن داده‌ها و عملکردها به صورت جداگانه هستند. هنگامی که داده‌ها و عملکردهای شما جدا هستند، این ویژگی‌ها را در نظر بگیرید. وقتی الگوریتم‌های شما به واقعیتی غیر از نوع زمان اجرای یک آبجکت بستگی دارند، pattern matching را در نظر بگیرید. این تکنیک‌ها روش دیگری برای بیان طرح‌ها ارائه می‌دهند.

NET Standard 2.1.

NET Core 3.0NET Standard 2.1. را پیاده‌سازی می‌کند. در کل، حدود 3k APIs طرح‌ریزی شده‌اند تا به NET Standard 2.1. اضافه شوند. یک سری از آن‌ها APIهای جدید هستند، در حالی که بقیه آن‌ها APIهای موجود هستند که به مراتب به standard اضافه شده‌اند.

NET Standards. مشخصات رسمی NET APIs. هستند که از قبل تعیین شده‌اند تا بر روی همه پیاده‌سازی‌های NET. در دسترس باشند. انگیزه پشت پرده NET Standard. ایجاد یکنواختی بیشتر در اکوسیستم NET. است. برای هدف قرار دادن NET Standard 2.1.، فایل پروژه خود را ویرایش کرده و پراپرتی TargetFramework را به netstandard 2.1 تغییر دهید (اگر از ویژوال استودیو استفاده می‌کنید به ویژوال استودیو 2019 نیاز دارید، ویژوال استودیو 2017 از NET Standard 2.1. یا NET Core 3.0. پشتیبانی نمی‌کند).

Blazor Server

با NET Core 3.0.، می‌توانید UI سمت کلاینت تعاملی و شگفت‌انگیزی را با Blazor Server توسعه دهید. Blazor Server می‌تواند با نوشتن برنامه‌های کاملا جدید یا تکمیل برنامه‌های موجود MVC و Razor Pages مورد استفاده قرار گیرد. نیازی به بازنویسی منطق برنامه‌های موجود نیست. Blazor به گونه‌ای طراحی شده است تا با MVC و Razor Pages در کنار هم کار کند، نه اینکه جایگزین آن‌ها شود. شما می‌توانید ضمن استفاده از Blazor برای تعاملات UI در سمت کلاینت، همچنان از MVC و Razor Pages برای نیازهای رندرینگ سرور استفاده کنید.

Blazor Server یک راه عالی برای افزودن قابلیت سمت کلاینت برای برنامه‌های وب موجود و جدید شما با استفاده از مهارت‌ها و داشته‌های موجود NET. است. Blazor Server جهت مقیاس‌گذاری برای همه نیازهای برنامه وب شما ساخته شده است. Blazor WebAssembly همچنان در پیش‌نمایش است اما انتظار می‌رود تا می سال آینده گذاشته شود. انتظار می‌رود که در آینده Blazor را به منظور پشتیبانی از PWAs، برنامه‌های hybrid  و برنامه‌های native ادامه دهند. در حال حاضر، ما امیدواریم با نصب NET Core 3.0Blazor Server را امتحان کنید.

قابلیت اجرای پیش‌فرض

برنامه‌های NET Core. اکنون به طور پیش‌فرض قابلیت اجرا دارند. در نسخه‌های گذشته برنامه‌ها باید از طریق دستور dotnet مانند dotnet myapp.dl راه‌اندازی می‌شدند. اکنون بسته به سیستم عامل برنامه‌ها می‌توانند با یک app-specific executable  مانند myapp یا ./myapp راه‌اندازی شوند.

پشتبانی سریع JSON APIs

JSON APIs با عملکرد بالا، برای مدل آبجکت‌های reader/writer و سناریوهای serialization اضافه شده است. پشتیبانی داخلی JSON دارای کارایی بالا، تخصیص کم و مبتنی بر Span<byte> است.

جمع‌بندی

در اینجا ما برخی از ویژگی‌های جدید .NET core را بیان کردیم. اما ویژگی‌های آن فقط به این موارد محدود نمی‌شود و شامل موارد دیگری نیز می‌باشد.

ایمان مدائنی

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

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

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