همه چیزهایی که باید در رابطه NET 5.0. بدانید
۴ مرداد ۱۳۹۹
اگر یک توسعهدهنده .NET
هستید که برنامههای مختلفی را توسط فریمورک .NET
توسعه دادهاید، باید این را بدانید که .NET 5
چه تاثیری بر برنامههای فعلی شما خواهد گذاشت. با حرکت به جلو، تنها یک .NET
وجود خواهد داشت که در macOS، ویندوز، لینوکس، iOS، اندروید و … استفاده میشود.
در میان این انتشار، APIهای جدید، قابلیتهای جدید در زبان runtime وجود دارد. این پروژه قصد دارد که از طریق راههای مختلف، فریمورک را بهبود بخشد:
- گسترش قابلیتهای
.NET
با استفاده از بهترین فریمورک.NET
، زامارین،.NET core
و Mono. - ایجاد یک فریمورک و runtime برای
.NET
، با توجه به تجارب توسعهدهندگان و رفتارهای runtime، به نحوی که در هرجایی قابل استفاده باشد. - ایجاد محصول نهایی از یک کد پایهای، که در آن توسعهدهندگان میتوانند با یکدیگر به توسعه و گسترش آن و بهبود کلی سناریو بپردازند.
ظاهر کد و فایلهای پروژه در .NET 5
، بدون توجه به نوع برنامه ایجاد شده، یکسان و ثابت است. با هر برنامهای میتوانید به همان API، قابلیتهای زبان و runtime دسترسی پیدا کنید.
تمام چیزهایی که در رابطه با .NET Core
عاشقشان هستید، باقی خواهند ماند.
- پیادهسازی برنامهها به صورت چندسکویی یا Cross-platform
- دارای جامعه کاربری و متنباز در گیتهاب
- عملکرد عالی و سطح بالا
- پشتیبانی از ابزارهای منحصر به هر سیستمعامل، نظیر WPF در ویندوز، فرمهای ویندوز همانند اتصالات native به پلتفرمهای native، از زامارین.
- CLI (رابط کاربری قدرتمند خط فرمان یا Capable command-line interface)
- فایلهای کوچک براساس SDK
- نصب مرحله به مرحله
- سازگاری با VSCode و Visual Studio برای Mac
چه چیزی جدید است؟
- انتخاب بیشتر در کسب تجربه به هنگام کار با runtimeها
- Swift و Objective-C در برخی از سیستمعاملها پشتیبانی میشوند.
- جاوا در تمام سیستمعاملها، در دسترس خواهد بود.
- استفاده از افزونه CoreFX برای پشتیبانی از کامپایل استاتیک در
.NET
و سیستمعاملهای بیشتر و موارد جزئی دیگر
چه چیزهایی را باید در رابطه با .NET 5
بدانید؟
- دو runtime موجود: به هنگام انتشار
.NET 5
در نوامبر ۲۰۲۰، ۲ runtime در دسترس قرار میگیرند. که آنها را تحت عنوان CoreCLR و mono میشناسیم. CoreCLR گسترش و توسعه یافته از.NET Core 3
است تا شامل قابلیتهای mono و.NET
شود. mono هم وجود خواهد داشت تا توسعهدهندگان بتوانند میان آن و CoreCLR، یکی را انتخاب کنند. توسعهدهندگان باید بر روی دریافت حداکثر کد با هدف قرار دادن استاندارد.NET 2.0
کار کنند، حتی2.1
، به هنگامی که برای چندسکویی بودن و حداکثر قابلیت جابجایی در دسترس باشد. - یک فریمورک واحد: CoreFX تنها فریمورک برای
.NET 5
است. این فریمورک، از آنجایی که توسط مایکروسافت نشان داده شده، بر روی mono و CoreCLR اجرا خواهد شد. CoreCLR هدف بیشتر توسعهدهندگان خواهد بود، که جایگزین.NET
، mono و NET Core میشود. با این وجود، mono هنوز هم یکی از runtimeهای مهم و مفید است و احتمالا در بازیها، تلفن همراه و دیگر مواردی که شامل عملیات کمتر باشد، استفاده میشود. - همچنان میتوان از
.NET Core
استفاده کرد: CoreCLR از آنجایی که قابلیتهای زیادی از فریمورک.NET
و mono را اضافه میکند، بخشی از تکامل.NET Core
است. هدف این است که CoreCLR، قابلیتهایی که mono برای توسعه موبایل پشتیبانی میکند را شامل شود. اولین تکرار.NET 5
ممکن است منجر به برابری CoreCLR با mono شود، که در آن، تنها بهبود برای توسعهدهندگان این است که آنها میتوانند از همان runtime به عنوان توسعهدهنده server یا دسکتاپ استفاده کنند. این شاید گزینهای باشد که در آن، CoreCLR نسبت به mono مزایای بیشتری داشته باشد. - هدف قراردادن استاندارد
.NET 2.0
: مقصود توسعهدهندگان این است که استاندارد.NET 2.0
و2.1
را به هنگام عرضه و در دسترس بودن، هدف قرار دهند. زیرا از آن میتوان برای تعریف API برای فریمورک NET یا NET Core و mono، همچنین در حال حاضر برای.NET 5
، استفاده کرد. به عبارت دیگر، اگر کدی را بر اساس استاندارد.NET 2.0
بدست آورید، میتواند به صورت یکپارچه و بدون مشکلی بر روی.NET 5
بیلد (build) شود.
برای شرکتهایی که از فریمورک .NET
میآیند، فرصتهایی برای توسعه به صورت چندسکویی، مصرف حافظه کمتر، عملکرد و مراحل استقرار بهتر، فایلهای پروژه سادهتر، زمان راهاندازی کمتر و پشتیبانی از توسعه به صورت تیمی، وجود دارد.
زندگی بدون نگرانی در رابطه با فریمورک .NET
، هنگامی که mono جایگزینی بجای موارد ضروری توسعه برای WebAssembly و زامارین است، سادهتر خواهد شد. با انتشار هر نسخه از .NET Core
، مایکروسافت عملکرد و کارایی را در موارد مختلف بهبود داده است و به نظر میرسد که این موضوع ادامه خواهد داشت. همچنین .NET 5
درنظر میگیرد که CoreCLR شامل برخی از قابلیتهای مهم mono میشود که زمان راهاندازی را در بعضی موارد کاهش میدهد، نظیر بازیها، دستگاههای embedded و iOS.
آغاز مهاجرت
مهمترین کار در این نقطه، این است که مهاجرت کد به استاندارد .NET 2.0
را آغاز کنیم. از آنجایی که .NET 5
تکاملی برای mono و NET Core است، اکنون زمان استفاده از این دو runtime است، در حالی که فریمورک .NET
یک نقشه راه برای پیشرفتن کد در آینده فراهم میکند.
.NET 5
در حالی که دارای کاربرد و ظرفیت بیشتر و گستردهتری است، سادهتر نیز خواهد بود. تمام قابلیتهای جدید و توسعه برنامه، بخشی از ویژگیهای جدید .NET 5
است، از جمله نسخههای جدید C#
.
جمعبندی
آینده درخشانی در استفاده از APIها و زبانهای NET برای ساخت طیف وسیعی از برنامههای مختلف، معماریهای بر اساس تراشه و سیستمعاملها وجود دارد. ایجاد تغییرات برای ایجاد تنظیمات به جهت ساخت برنامههای مختلف، در Visual Studio، VSCode، VS for Mac، Azure DevOps و یا خط فرمان، ساده خواهد بود.
منبع: https://stackify.com/everything-you-need-to-know-about-net-5-0