Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 21057|Отговор: 0

[Комуникация] Microsoft официално обяви изданието за .NET 5

[Копирай линк]
Публикувано в 7.05.2019 г. 9:41:27 ч. | | | |
Днес обявяваме, че следващото издание след .NET Core 3.0 ще бъде .NET 5. Това ще бъде следващото голямо издание от серията .NET.

В бъдеще ще има само един .NET, с който ще можете да разработвате Windows, Linux, macOS, iOS, Android, tvOS, watchOS и WebAssembly, наред с други.

Въвеждаме нови .NET API, функции за изпълнение и езикови функции в .NET 5.



Започвайки с проекта .NET Core, добавихме около петдесет хиляди .NET Framework API към платформата. .NET Core 3.0 запълва повечето от останалите пропуски във функциите на .NET Framework 4.8, поддържайки Windows Forms, WPF и Entity Framework 6. .NET 5 надгражда тази работа, използвайки най-добрите функции на .NET Core и Mono, за да създаде платформа. Можете да го използвате за целия съвременен .NET код.

Възнамеряваме да пуснем .NET 5 през ноември 2020 г. и да пуснем първия предварителен преглед през първата половина на 2020 г. Тя ще бъде поддържана в бъдещи ъпдейти за Visual Studio 2019, Visual Studio за Mac и Visual Studio Code.

.NET 5 = .NET Core vNext

.NET 5 е следващата стъпка в .NET Core. Проектът има за цел да подобри . NET:

  • Изградете .NET runtime и рамка, които могат да се използват навсякъде, с унифицирано поведение по време на изпълнение и опит на разработчиците.
  • Чрез пълноценно използване на .NET Core, . NET Framework, Xamarin и Mono за разширяване на възможностите на .NET.
  • Изграждайки продукта от единна кодова база, разработчиците (Microsoft и общността) могат да работят заедно и да разширяват заедно, за да подобрят всички сценарии.


Този нов проект и посока са голяма повратна точка за .NET. С .NET 5, кодът и проектните файлове ще са еднакви, независимо от типа приложение, което създавате. Всяко приложение има достъп до едни и същи функции за изпълнение, API и езикови функции. Включва и подобрения в производителността на CoreFX, които се правят почти ежедневно.

Всичко, което обичате в .NET Core, ще продължи да съществува:

  • Отворен код и ориентиран към общността в GitHub.
  • Кросплатформена реализация.
  • Поддръжка на специфични за платформата функции като Windows forms и WPF на Windows и нативни връзки за всяка родна платформа на Xamarin.
  • Висока производителност.
  • Монтирайте една до друга.
  • Малки проектни файлове (в стил SDK).
  • Съвместим с команден ред интерфейси (CLI).
  • Visual Studio, Visual Studio за Mac и интеграция с Visual Studio Code.


Има и някои нови неща:

  • Ще имате повече опции за вашето време на изпълнение (повече за това по-долу).
  • Съвместимостта на Java ще бъде достъпна на всички платформи.
  • Множество операционни системи ще поддържат оперативна съвместимост Objective-C и Swift.
  • CoreFX ще бъде разширен, за да поддържа предварително (AOT) за .NET, по-малък обхват и поддръжка за повече операционни системи.


Ще пуснем .NET Core 3.0 през септември тази година, .NET 5 през ноември 2020 г., а след това възнамеряваме да пуснем основна версия на . NET:



Пропуснахме версия 4, защото щеше да обърка потребители, запознати с .NET Framework, който съществува отдавна с серията 4.x. Освен това искаме ясно да комуникираме, че .NET 5 е бъдещето на платформата .NET. Наричането му .NET 5 го прави най-високата версия, която някога сме пускали.

Също така използваме тази възможност да опростим именуването. Смятаме, че ако само един .NET е най-добър, не ни трябва уточняващ термин като "Core". По-краткото име е опростено и също предава посланието, че .NET 5 има еднаква функционалност и поведение. Разбира се, можете да продължите да използвате името ".NET Core", ако желаете.

Изживяване по време на изпълнение

Mono е оригиналната кросплатформена реализация на .NET. Започна като алтернатива с отворен код на .NET Framework и премина към мобилно ориентирана към мобилните устройства с нарастващата популярност на iPhone/iOS и Android устройства. Моно е runtime, който се използва като част от Xamarin.

CoreCLR е runtime, който се използва като част от .NET Core. Той се използва основно за поддръжка на облачни приложения, включително най-голямата услуга на Microsoft, а сега се използва и в Windows десктоп, IoT и приложения за машинно обучение.

В обобщение, .NET Core и Mono runtime споделят много прилики (все пак и двете са .NE runtimes), но също така имат ценни уникални функции. Има много смисъл да направиш възможност да избираш преживяването на изпълнение, което искаш. Правим CoreCLR и Mono взаимозаменяеми помежду си. Ще го направим толкова просто, колкото да изградим превключвател, за да избираме между различни опции за изпълнение.

Следващите раздели описват основния фокус, който планираме да използваме за .NET 5. Те дават ясна перспектива за това как планираме да развиваме тези две изпълнения поотделно и заедно.

Висок пропускателен капацитет и висока продуктивност

От самото начало .NET разчиташе на компилатори just-in-time (JITs), за да преобразува код на междинния език (IL) в оптимизиран машинен код. Оттогава създадохме водещ в индустрията управляван runtime, базиран на JIT, който има много висока пропускателна способност и също така подобрява преживяването на разработчиците, правейки програмирането бързо и лесно.

JIT е идеален за дългосрочни облачни и клиентски сценарии. Те могат да генерират код, конфигуриран за конкретни машини, включително специфични CPU инструкции. JIT може също да регенерира методи по време на изпълнение, техника, която прави JIT по-бърз, като същевременно има възможност да генерира силно оптимизирани версии на кода, ако стане често използван метод.

Нашите усилия да накараме ASP.NET Core да работи по-бързо на бенчмарка на Techpower са отличен пример за силата на JIT и нашата инвестиция в CoreCLR. Нашите усилия да укрепим .NET Core за контейнери също са доказателство за способността на runtime да се адаптира динамично към ограничени среди.

Инструментите за разработчици са друг чудесен пример за това колко добър е JIT, като dotnet watch tools или edit and continue. Инструментите често трябва да компилират и зареждат код многократно в един процес без рестарт и това трябва да го правят много бързо.

Разработчиците, използващи .NET Core или .NET Framework, разчитат основно на JIT. Затова преживяването трябва да е познато.

Стандартното изживяване за повечето работни сценарии на .NET 5 ще използва JIT-базирания CoreCLR runtime. Две забележителни изключения са iOS и клиентският Blazor (уеб асемблер), тъй като и двата изискват предварително нативно компилиране (AOT).

Бързо стартиране, малък размер и ниска консумация на памет

По-голямата част от проекта Mono е съсредоточена върху мобилни устройства и конзоли. Ключова характеристика и резултат от проекта е компилаторът .NET AOT, базиран на водещия в индустрията проект LLVM компилатор. Компилаторът Mono AOT позволява .NET кодът да бъде вграден в нативен изпълним код, който може да се изпълнява на компютър, подобно на C++ кода. Приложенията, компилирани от AOT, могат да работят ефективно на по-малки локации и да обменят пропускателна способност за стартиране при нужда.

Проектът Blazor вече използва Mono AOT. Това ще бъде един от първите проекти, които ще преминат към .NET 5. Използваме го като една от опциите да докажем този план.

Съществуват два вида AOT решения:

  • Изисква решение, което е 100% компилирано от AOT.
  • Повечето кодове са AOT-компилирани решения, но JIT или интерпретатори могат да се използват за кодови шаблони, които не са приятелски към AOT (като генерични модели). Mono AOT поддържа и двата случая. Apple изисква първия AOT за iOS и някои конзоли поради съображения за сигурност. Вторият метод е по-добър, защото предлага предимствата на AOT и избягва някои от недостатъците.


.NET Native е нашият AOT компилатор за Windows UWP приложения и е също пример за първия AOT тип, изброен по-горе. В тази конкретна реализация ограничаваме .NET API и функциите, които можете да използвате. Научихме от този опит, че AOT решенията трябва да покриват всички аспекти на .NET API и модели.

AOT компилацията все още е необходима за iOS, уеб асемблер и някои конзоли. За приложения, които изискват по-бърз старт или малко присъствие, ще направим компилацията на AOT опция.

Раждането на проекта

Започнахме този проект през декември 2018 г. с технически екип в Бостън. Ръководителите на дизайна от .NET екипа (Mono/Xamarin и .NET Core) и Unity представиха разнообразни технически възможности и архитектурни насоки.

Сега движим този проект напред като екип с набор от резултати. Постигнахме голям напредък по редица проекти от декември насам:

  • Дефиниран е минимален слой, който дефинира управлявания кодов слой за изпълнение <-> с цел постигане на >99% от публичния код на CoreFX.
  • MonoVM вече може да използва CoreFX и неговите класови библиотеки.
  • Пуснете всички CoreFX тестове в MonoVM с имплементацията на CoreFX.
  • Стартирайте ASP.NET Core 3.0 приложения с MonoVM.
  • Пусни MonoDevelop на CoreCLR, после стартирай Visual Studio за Mac.


Мигрирайте към един . Внедряването на .NET повдига някои важни въпроси: Каква ще бъде целевата рамка? Правилата за съвместимост на пакетите на NuGet същите ли са? Какви натоварвания трябва да поддържа .NET 5 SDK? Как да програмирам за конкретна архитектура? Все още ли ни трябва .NET Standard?
В момента работим по тези въпроси и скоро ще споделим дизайнерския документ, който можете да прочетете и да предоставите обратна връзка.

Епилог

Проектът .NET 5 е важна и вълнуваща нова посока за .NET. Ще видите как .NET става по-прост, но и с по-широк набор от функции и полезност. Всички нови разработки и функции ще бъдат част от .NET 5, включително нови версии на C#.

Виждаме светло бъдеще, в което можете да използвате едни и същи .NET API и езици, за да таргетирате широк спектър от типове приложения, операционни системи и силициеви архитектури. Във Visual Studio, Visual Studio за Mac, Visual Studio Code, Azure DevOps или командния ред е лесно да се промени конфигурацията на билда, за да се създават различни приложения.

Оригинален линк:Входът към хиперлинк е видим.





Предишен:Метод на разделяне на низове със запетая
Следващ:SQL Server 2012 предоставя OFFSET/FETCH NEXT срещу Row_Number() за сравнително тестване
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com