6 мая было объявлено, что следующий .
NET Core 3.0 выпуском будет .
NET 5. Это будет следующий большой выпуск в семействе .
NET. В будущем будет только один .
NET, и вы сможете использовать его для разработки на Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly и других платформах.
В рамках .
NET 5 мы представим новые API-интерфейсы .
NET, возможности среды выполнения и языковые функции.
С момента запуска проекта .
NET Core мы добавили на платформу около 50 тысяч API .
NET Framework. .
NET Core 3.0 приблизился по возможностям к .
NET Framework 4.8, благодаря ему стали доступны Windows Forms, WPF и Entity Framework 6. .
NET 5 принял эстафету, он был основан на .
NET ядро и всего наилучшего от проекта Мононуклеоз , в результате чего создается единая платформа, которую можно использовать для всего вашего современного кода .
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, используя лучшее из .
NET Core, .
NET Framework, Xamarin и Mono.
- Создавайте продукт на основе единой базы кода, над которой разработчики (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-кода из .
NET 5 будет доступна на всех платформах.
- Вызов кода Objective-C и Swift из .
NET 5 будет поддерживаться в нескольких операционных системах.
- CoreFX будет расширен для поддержки статической компиляции .
NET (ранее — AOT), для уменьшения потребления ресурсов (занимаемого пространства) и поддержки большего количества операционных систем.
NET Core 3.0 будет доступен в сентябре этого года, а .
NET 5 — в ноябре 2020 года.
После этого мы будем выпускать основные версии .
NET один раз в год, каждый ноябрь:
Мы пропускаем версию 4, поскольку пользователи могут запутаться в .
NET Framework, которая уже давно присутствует в версии 4.x. Кроме того, мы хотели прояснить, что .
NET 5 — это будущее платформы .
NET. Мы тоже решили воспользоваться этой возможностью и упростить порядок имен.
Мы считаем, что если будет развиваться только .
NET, то пояснительный термин «Ядро» нам не понадобится.
Короткое имя проще и указывает на то, что функции и поведение .
NET 5 унифицированы.
Если вы хотите, вы можете продолжать использовать имя «.
NET Core».
Среды выполнения
Мононуклеоз — оригинальная кроссплатформенная реализация .NET. Он начинался как альтернатива .
NET Framework с открытым исходным кодом, а позже, с ростом популярности устройств iOS и Android, мы переориентировали его на мобильный сегмент. Mono — это среда выполнения, используемая как часть Xamarin. CoreCLR — это среда выполнения, используемая как часть .
NET Core. Первоначально ориентированная на поддержку облачных приложений, включая крупнейшие сервисы Microsoft, теперь она также используется для настольных приложений Windows, Интернета вещей и машинного обучения.
Среды выполнения .
NET Core и Mono имеют много общего (в конце концов, обе они являются средами выполнения .
NET), но каждая из них также имеет свои уникальные возможности.
Поэтому имеет смысл дать вам возможность выбирать тот опыт, который вы хотите.
В настоящее время мы работаем над созданием подключаемых замен друг другу CoreCLR и Mono. Процесс будет таким же простым, как переключение сборки для выбора между различными вариантами времени выполнения.
В следующих главах я опишу наши ключевые планы относительно .
NET 5. Они помогут вам понять, как мы планируем разрабатывать две среды выполнения одновременно и по отдельности.
Высокая производительность и производительность
С самого начала .NET полагался на JIT-компилятор для конвертации Средний Код языка в оптимизированный машинный код. Мы создали ведущую в отрасли среду выполнения JIT, которая обеспечивает чрезвычайно высокую производительность, позволяя разработчикам быстро и легко писать код. JIT-компиляторы хорошо подходят для долго работающих облаков и сценариев на стороне клиента.
Они способны генерировать код, учитывающий особенности аппаратной конфигурации, включая конкретные инструкции процессора.
Также JIT может заново генерировать методы во время выполнения , этот метод позволяет вам компилировать на высокой скорости, сохраняя при этом точно настроенную версию кода, если определенные методы используются часто.
Наши усилия по ускорению ASP.NET Core, как видно из результатов тестов TechEmpower , являются хорошим примером возможностей JIT и нашим вкладом в CoreCLR. Мы постарались подготовить .
NET Core для использования контейнеров Это демонстрирует способность среды выполнения динамически адаптироваться к ограниченной среде.
Инструменты разработчика — еще одна область, где JIT превосходит других, например dotnet watch или режим «редактировать и продолжить».
Инструменты часто требуют от вас компилировать и загружать код несколько раз в одном и том же процессе без перезапуска, и это нужно делать очень быстро.
Разработчики, использующие .
NET Core или .
NET Framework, полагаются в первую очередь на JIT. Поэтому это должно показаться им знакомым.
Стандартным подходом для большинства рабочих нагрузок .
NET 5 будет использование среды выполнения CoreCLR с JIT. Двумя важными исключениями являются iOS и Blazor на стороне клиента (WebAssembly), они требуют встроенной предварительной компиляции.
Быстрый запуск, низкое потребление ЦП (занимаемой площади) и снижение потребления памяти.
В рамках проекта Mono большая часть усилий была направлена на мобильный сегмент и игровые консоли.
Основной особенностью и результатом этого проекта является AOT-компилятор для .
NET, разработанный на основе компилятора ЛЛВМ .
Компилятор AOT Mono позволяет скомпилировать код .
NET в единый собственный исполняемый код, который может работать на любой машине, как и код C++.
Предварительно скомпилированные (AOT) приложения могут эффективно работать в небольших местах и, при необходимости, жертвовать производительностью для запуска.
Проект Блазор уже использует Mono AOT и будет одним из первых, кто перейдет на .
NET 5. Мы используем его как один из способов доказать свои планы.
Существует два типа решений AOT:
- Требуется полная компиляция AOT.
- Решения, в которых большая часть кода компилируется с помощью AOT, но при этом позволяет использовать JIT или интерпретатор для шаблонов кода, несовместимых с AOT (например, универсальных шаблонов).
АОТ первого типа необходим для iOS и некоторых игровых консолей, в основном из-за требований безопасности.
Второй тип решения предпочтительнее, поскольку он обладает всеми преимуществами AOT без его недостатков.
.
NET Native — это компилятор AOT, который мы используем для приложений Windows UWP. Он относится к первому типу решений AOT. В этой конкретной реализации мы ограничили API .
NET и доступные вам возможности.
Это помогло нам понять, что решения AOT должны охватывать весь спектр API и шаблонов .
NET. Компиляция AOT останется необходимой для iOS, WebAssembly и некоторых игровых консолей.
Мы сделаем его необязательным для приложений, подобных приложениям, которым требуется быстрый запуск и/или низкое потребление ресурсов ЦП.
Основы и аналогичные требования
Для нас крайне важно продолжать развиваться как платформа с элементами управления запуском, производительностью, потреблением памяти, надежностью и диагностикой.В то же время желательно сконцентрировать наши усилия.
Мы будем больше работать над повышением производительности и надежности в CoreCLR, а также над улучшением запуска и уменьшением размера файлов компилятора Mono AOT. Нам это кажется хорошим сочетанием.
Производительность и надежность идут рука об руку, равно как и скорость запуска и уменьшенный размер файлов.
Целесообразно вкладывать разные ресурсы в улучшение одних характеристик, но не в улучшение других.
Возможности диагностики должны быть единообразными во всей .
NET 5 как по функциональности, так и по производительности.
Также важно поддерживать одни и те же процессоры и ОС (за исключением iOS и WebAssembly).
Мы продолжим оптимизировать .
NET 5 для всех видов рабочих нагрузок и сценариев, для которых это имеет смысл.
Наибольший упор будет сделан на оптимизацию, особенно в тех случаях, когда разные рабочие нагрузки предъявляют схожие требования.
Все приложения .
NET 5 будут использовать эту платформу.
CoreFX .
Мы позаботимся о том, чтобы CoreFX работал хорошо там, где он сегодня не используется, в основном в задачах Blazor на стороне клиента Xamarin. Все приложения .
NET 5 могут быть созданы с использованием .
NET интерфейс командной строки , поэтому у вас будет один и тот же набор инструментов на основе командной строки во всех ваших проектах.
C# будет развиваться вместе с .
NET 5. Разработчики, пишущие приложения .
NET 5, получат доступ к последней версии C# и ее функциям.
Рождение проекта
Как техническая команда, мы собрались в декабре 2018 года в Бостоне, чтобы начать этот проект. Ведущие архитекторы из группы .NET (Mono/Xamarin и .
NET Core) и Единство рассказали о различных технических возможностях и направлениях развития архитектуры.
Сейчас мы продвигаем проект как единая команда.
С декабря мы добились хорошего прогресса по нескольким проектам:
- Определен минимальный уровень, определяющий взаимодействие между средой выполнения и уровнем управляемого кода, с целью создания > 99 % общего кода CoreFX.
- MonoVM теперь может использовать CoreFX и его библиотеки классов.
- Мы запускали все тесты CoreFX на MonoVM, используя его реализацию.
- Запустил приложения ASP.NET Core 3.0 на MonoVM.
- Запустил MonoDevelop и Visual Studio для Mac на CoreCLR.
NET поднимает важные вопросы.
Какова будет окончательная структура? Сохранятся ли правила совместимости для пакетов NuGet? Какую рабочую нагрузку будет поддерживать пакет SDK для .
NET 5 «из коробки»? Как следует писать код для конкретной архитектуры? Нужен ли нам .
NET Standard? Сейчас мы над всем этим работаем и скоро сможем поделиться с вами проектной документацией, чтобы вы могли прочитать ее и оставить отзыв.
Заключение
Проект .NET 5 — это важное и захватывающее новое направление развития .
NET. Вы увидите, что .
NET станет проще, но в то же время станет более широко использоваться и получит больше возможностей.
Все новые возможности разработки будут частью .
NET 5, включая новые версии C#.
Впереди нас ждет блестящее будущее, в котором вы сможете использовать одни и те же API и языки .
NET в широком спектре приложений, операционных систем и архитектур процессоров.
Вы можете легко изменить конфигурацию сборки, создавая приложения так, как вам хочется — в Visual Studio, Visual Studio для Mac, Visual Studio Code, Azure DevOps или из командной строки.
Теги: #Разработка Linux #Разработка Windows #microsoft #Разработка мобильных приложений #новости #Разработка веб-сайтов #C++ #.
NET #Visual Studio #.
net core #raiffeisenbank #raiffeisenit #xamarin #mono #mono #.
net 5 # CoreFX
-
Переход От Тестировщика К Менеджеру Проектов
19 Oct, 24 -
Все Еще Не Нравится Javascript?
19 Oct, 24