انتشار نخستین پیش نمایش NET 6.

امروز ما خوشحالیم که اولین پیش نمایش NET 6. ارائه شد و‌ در این مقاله می‌خواهیم آنچه را که در این انتشار رخ داده است را با شما به اشتراک بگذاریم.  تیم دات نت از چند ماه گذشته در حال تعریف شکل کلی این انتشار هستند، از جمله مجموعه بزرگی از تجربیات و قابلیت ‌های جدید. دات نت 6 در حال تعریف بخش‌های نهایی یکسان‌سازی NET. است که با NET 5. آغاز شده است. این انتشار همچنین شامل بهبودهای عمده در تمام بخش‌های NET. است، از جمله برای برنامه های ابری (cloud)، دسکتاپ و موبایل. برای اینکه انتشار NET 6. به طور کامل در دسترس باشد، چندین پیش‌ نمایش لازم است.

می‌توانید NET 6 Preview 1. را برای Windows، macOS و Linux دانلود کنید.

دات نت 6 با Visual Studio 16.9 Preview 4 و ویژوال استودیو برای Mac 8.9 تست شده است. توصیه شده است که اگر می‌خواهید از NET 6. استفاده کنید از این‌ها استفاده کنید.

یکپارچه و گسترش یافته

Net 6. به شما این امکان را می‌دهد تا برنامه‌هایی را که می‌خواهید بسازید،‌ برای پلت فرم‌هایی که می‌خواهید بسازید، و همچنین روی سیستم عامل‌هایی که می‌خواهید برای توسعه از آن‌ها استفاده کنید، ایجاد کنید. تیم دات نت کاری که می‌توانید با NET. انجام دهید و جایی که می‌توانید آن را انجام دهید را با دیدگاه یکسان سازی NET. گسترش داده است. آن‌ها در حال ادغام قابلیت‌های Android، iOS، و macOS هستند که بخشی از زامارین در NET 6. هستند. همچنین کاری که می‌توانید با Blazor انجام دهید را به نوع جدیدی از برنامه‌های کلاینت ترکیبی (ترکیب وب و native UI) که می‌تواند برای سناریوهای دسکتاپ و موبایل استفاده شود، گسترش داده‌اند.

این تلاش‌ها یک چیز را برای همه توسعه‌دهندگان NET. فراهم می‌کند. اگر شما توسعه‌ دهنده برنامه دسکتاپ هستید، فرصت های جدیدی برای شما وجود دارد تا به کاربران جدید دسترسی پیدا کنید. اگر شما توسعه دهنده برنامه موبایل هستید، با هدف قرار دادن پلت فرم‌های اندروید و iOS از استفاده از ابزارهای NET. و API های اصلی بهره‌مند خواهید بود. اگر شما توسعه دهنده وب یا کلود هستید، در معرض قرار گرفتن سرویس‌ها برای برنامه‌های موبایل NET. و به اشتراک گذاشتن کد با آن‌ها آسان‌تر خواهد شد.

فرآیند یکپارچه سازی در NET 5. شروع شد. برای آن انتشار، Blazor WebAssembly را به عنوان اولین پلت فرم یکپارچه قابل تحویل انتخاب کردیم. این بر اساس زمان اجرای Mono است، از کتابخانه‌های کلاس NET. و ابزارهای NET SDK. استفاده می‌کند. همانطور که زامارین را ادغام شد، از همان مدل برای iOS و اندروید استفاده خواهند کرد. با یک پلت فرم یکپارچه، APIهای جدید و بهبودهای کارایی در دسترس همه توسعه دهندگان قرار خواهد گرفت و برای همه برنامه‌ها کار می‌کند.

هنگام نصب NET SDK. می‌توانید شروع به ساخت برنامه‌ها برای پلتفرم های موبایل کنید. این بدان معناست که شما می‌توانید dotnet new android و بعدdotnet run  را تایپ کرده و انتظار داشته باشید یک شبیه ساز اندروید شروع به اجرای برنامه NET. کند. همین امر در مورد برنامه‌های iOS نیز صدق می‌کند. شما در ویژوال استودیو و ویژوال استودیو کد تجربه های مشابهی خواهید داشت. نگران نباشید که NET SDK. به دلیل پشتیبانی از میزان کارهای انجام‌ شده توسط موبایل (workload) بسیار بزرگ‌تر خواهد شد. workload موبایل اختیاری است. در حقیقت NET SDK. به دلیل اختیاری شدن workload کوچک‌تر می‌شود. تجربه SDK workload اختیاری جدید، بخشی از NET 6. خواهد بود و در NET7. تکمیل می‌شود.

تیم دات نت از یکپارچه‌سازی برای ساده کردن و گسترش ساخت تجربه برنامه‌های Xamarin Forms استفاده می‌کنند. آن‌ها این پروژه را NET Multi-platform App UI. نامیده‌اند. این پروژه بهبودها و قابلیت‌های فراوانی را ارائه می‌دهد که پلت فرم را هم برای توسعه دهندگان دسکتاپ و هم موبایل توسعه می‌دهد.

برنامه ریزی باز (Open planning)

تیم دات نت یک فرآیند برنامه‌ریزی بازتر را با NET 6. اتخاذ کرده است. آن‌ها انتشارات NET. را با یک مدل سلسه مراتبی از تم‌ ها و استوری‌های کاربر، با الویت‌ها و دسته بندی‌ها برنامه‌ ریزی کرده‌اند. این مدل شما را قادر می‌سازد تا این انتشار را در دامنه وسیع‌تری مشاهده کنید، دیدگاهی از مهمترین ویژگی ها را ارائه می‌دهد و یافتن فرصت‌های مشارکت را آسان می‌سازد.

برنامه ریزی باز باعث شده است تا تیم‌های دیگر مایکروسافت به راحتی بتوانند ببینند تیم NET. به کجا می‌رود.

برنامه‌ای که در گیت هاب مشاهده می کنید اکنون بخش اساسی فرآیند مهندسی آن‌ها است. تیم دات نت تمام تلاش خود را می‌کند تا این مسائل را به روز نگه دارد و مسائل را به اسناد و فعالیت‌های مربوط پیوند دهند تا به شما در درک بهتر عمق و گستردگی پروژه کمک کنند. شما می‌توانید در این بازخورد مشارکت داشته باشید.

پشتیبانی

NET 6. در نوامبر 2021 منتشر می‌شود و به عنوان انتشار Long Term Support (LTS) به مدت سه سال پشتیبانی خواهد شد. platform matrix در مقایسه با NET 5. به طور قابل توجهی گسترش یافته است.

موارد اضافه شده عبارتند از:

Android

iOS

Mac و Mac Catalyst، برای x64 و Apple Silicon “M1”

Windows Arm64 (به طور خاص Windows Desktop)

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

Blazor به روشی محبوب برای نوشتن برنامه‌های وب NET. تبدیل شده است. تیم دات نت ابتدا از Blazor در سرور، سپس در مرورگر با WebAssembly پشتیبانی کردند و اکنون دوباره آن را گسترش داده‌اند تا بتوانید برنامه‌های دسکتاپ Blazor را بنویسید. Blazor desktop به شما این امکان را می‌دهد برنامه‌های ترکیبی (hybrid) کلاینت را ایجاد کنید، که وب و native UI را در کنار یکدیگر در یک برنامه کلاینت بومی (native) ترکیب کنید. هدف اصلی آن توسعه دهندگان وب است که می‌خواهند کلاینت با ارزش و تجربه های آفلاین را برای کاربران خود فراهم کنند.

حلقه داخلی سریع

تیم دات نت پروژه جدیدی را شروع کرده است که آن را حلقه داخلی سریع (fast inner loop) نامیده است. اولین بخش پروژه اجرای build با مجموعه‌ای از پروژه‌های مربوط به عملکرد است که به طور قابل توجهی سریعتر است. بخش مهم دیگر ایجاد سیستم های جدید است که به ما امکان می‌دهد تا به طور کلی از build صرف نظر کنیم، این امکان را می‌دهد تا کد خود را ویرایش کنید و بدون ریستارت کردن آن در یک فرآنید زنده (لایو) اعمال شود.

آن‌ها می‌خواهند یک build خیلی سریع را فعال کنند، و حتی عملیات خیلی سریع‌تر برای تغییر کد که می‌تواند کاملا از build بپرد و از آن صرف نظر کند، و این را به عنوان یک ویژگی استاندارد جدید NET. قرار دهند.

Arm64

Arm64 همچنان تمرکز زیادی برای این تیم و صنعت دارد. تیم دات نت با NET 5.0. پیشرفت‌های چشمگیری در عملکرد Arm64 ایجاد کرده است و به سرمایه‌گذاری در عملکرد Arm64 ادامه خواهد داد. در این انتشار، بیشترین توجه بر روی قابلیت عملکردی متمرکز است.

کانتینرها

کانتینرها موردی هستند که تیم دات نت بر روی آن بسیار تمرکز دارد. تست عملکرد NET. نیز در کانتینرها انجام می‌شود. آن‌ها چندین پروژه برای بهبود کانتینرها در NET 6. در نظر گرفته‌اند.

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

اندازه ایمیج کانتینر با استفاده از PGO کاهش یافته است.

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

هدف گذاری‌های NET 6.

TFMها (target framework moniker) برای دات نت 6 رویکردی که تیم دات نت با NET 5. اتخاذ کرده‌ است را دنبال می کنند. TFMهای جدید در نتیجه افزودن پشتیبانی برای پلتفرم‌های جدید اضافه شده‌اند.

برای NET 6. مورد نظر، شما باید از NET 6 TFM. استفاده کنید، مثلا

<TargetFramework>net6.0</TargetFramework>

مجموعه کاملی از NET 6 TFMs.، شامل موارد خاص عملیاتی زیر است.

net6.0

net6.0-android

net6.0-ios

net6.0-maccatalyst

net6.0-macos

net6.0-tvos

net6.0-windows

NET CLI.

NET CLI. در نتیجه استفاده از کتابخانه‌های System.CommandLine، تجربه‌های راحتی بیشتری را فراهم کرده است.

کتابخانه‌ها

APIهای زیر به کتابخانه‌های دات نت اضافه شده‌اند.

APIهای ریاضی جدید

APIهای ریاضی عملکرد گرا زیر به System.Math اضافه شده‌اند.

APIهای جدید:

SinCos برای محاسبه همزمان Sin و Cos

ReciprocalEstimate برای محاسبه تقریبی 1 / x

ReciprocalSqrtEstimate برای محاسبه تقریبی 1 / Sqrt(x)

جمع‌بندی

این‌ها بخشی از موارد جدید و بهبودهای موجود در انتشار NET 6 Preview 1 بودند. دات نت 6 قول داده است انتشار مهیجی با پیشرفت‌های چشم‌گیر باشد. با توجه به موفقیت NET 5. در نوامبر 2020، در یک محیط بسیار چالش برانگیز، انتظار می رود که NET 6. نیز به موقع منتشر شود.

خروج از نسخه موبایل