Microsoft представила .NET 5 с поддержкой Linux и WebAssembly

Microsoft представила .NET 5 с поддержкой Linux и WebAssembly
19.11.2020
22665

10 ноября Microsoft представила новый выпуск платформы .NET 5 с поддержкой Linux, macOS и WebAssembly. Это следующий крупный выпуск .NET Core после 3.1. 

Релиз включает среду выполнения .NET и ASP.NET Core 2. для размещения автономных приложений на серверах Windows, а также модуль ASP.NET Core для IIS, который может быть установлен отдельно на серверах без установки .NET Runtime.

.NET SDK содержит обновленную среду выполнения .NET. При установке SDK загрузка пакетов среды выполнения или ASP.NET Core не требуется.

Улучшения

Некоторые изменения мы уже описывали во время выпуска релиз-кандидата .NET 5.0 (RC2). Это была почти финальная версия, поэтому многие улучшения были перенесены в .NET 5.0:

  • .NET 5.0 уже прошел испытания в бою и в течение нескольких месяцев размещался на dot.net и Bing.com.
  • Производительность многих компонентов значительно улучшена.
  • C# 9 и F# 5 предлагают новые улучшения языка, такие как программы верхнего уровня и записи для C# 9. А F# 5 позволяет использовать интерактивное программирование и повышение производительности для функционального программирования на .NET.
  • Библиотеки .NET имеют повышенную производительность для сериализации Json, регулярных выражений и HTTP. Они также полностью аннотированы на предмет обнуления.
  • Задержка P95 снизилась из-за усовершенствований в GC и многоуровневой компиляции.
  • Платформа расширена на ОС Windows Arm64 и WebAssembly.

.NET не замена

 

 

ASP.NET Core 5.0 основан на .NET 5.0, но сохраняет название «Core», чтобы не путать его с ASP.NET MVC 5. Точно так же Entity Framework Core 5.0 сохраняет название «Core», чтобы отличаться от Entity Framework 5 и 6.

.NET 5.0 не заменяет .NET Standard. При разработке новых приложений можно указать название net5.0 для всех типов проектов, включая библиотеки классов. Для приложений и библиотек .NET 5.0 Moniker net5.0 объединяет и заменяет netcoreapp и netstandardTFM. Однако если вы планируете совместно использовать код между рабочими нагрузками .NET Framework, .NET Core и .NET 5, вы можете сделать это, указав netstandard2.0. 

.NET 5.0 не заменяет .NET Framework, но является основной реализацией .NET в будущем, и .NET Framework 4.x все еще поддерживается.

Перенос следующих технологий из .NET Framework в .NET 5.0 не планируется, но в .NET 5.0 есть альтернативы: ASP.NET Core Blazor или Razor Pages для веб-форм, gRPC и Открытый исходный код CoreWF.

Поддержка

.NET 5.0 имеет схожую матрицу поддержки платформ с .NET Core 3.1 для Windows, macOS и Linux. С .NET Core 3.1 в операционной системе есть возможность перейти на .NET 5.0 в той же версии ОС. Наиболее важным дополнением к .NET 5.0 является Windows Arm64.

.NET 5.0 – это актуальная версия. Создатели планируют поддерживать .NET 5.0 до середины февраля 2022 года. Следующий выпуск .NET 6.0 станет LTS-версией и будет поддерживаться в течение трех лет, как и .NET Core 3.1.

Языки

C# 9 и F# 5 являются частью выпуска .NET 5.0 и включены в .NET 5.0 SDK вместе с Visual Basic. Он содержит улучшения для поддержки Visual Basic Application Framework в .NET Core.

Генераторы исходного кода C# – важная новая функция компилятора C#. Технически они не являются частью C# 9, поскольку не имеют синтаксиса языка. Новые образцы генератора исходного кода C# помогут начать работу с этой функцией. 

Чтобы использовать новый синтаксис C# 9 и целевой .NET 5.0., разработчики обновили репозиторий dotnet/iot. Изменения привели к удалению более 2 тысяч строк кода. Новый синтаксис использует программы верхнего уровня, записи, шаблоны и выражения переключения. Также теперь можно воспользоваться полным набором аннотаций, допускающих значение NULL, в библиотеках .NET. 

C#

Разработчики, пишущие приложения .NET 5, будут иметь доступ к последней версии и функциям C#. .NET 5 работает в паре с C# 9, что привносит в язык много новых функций. Вот несколько основных моментов:

  • Записи: неизменяемые ссылочные типы, которые ведут себя как типы значений и вводят в язык новое ключевое слово «with».
  • Реляционная модель соответствия расширяет возможности сопоставления шаблонов для реляционных операторов, сравнительных оценок и выражений, в том числе логических моделей. Новые ключевые слова «and, or и not».
  • Операторы верхнего уровня: в качестве средства для ускорения принятия и изучения C#. Метод Main можно опустить, и допустимо простое приложение: System.Console.Write("Hello world!");
  • Указатели на функции: языковые конструкции, которые предоставляют следующие коды операций промежуточного языка (IL) – «ldftn и calli».

В дополнение к некоторым из отмеченных новых функций C# генераторы исходного кода находят свое применение в проектах разработчиков. Генераторы исходного кода позволяют проверять программу во время компиляции и создавать дополнительные файлы, которые компилируются вместе с остальной частью кода.

F#

F# – это язык функционального программирования .NET, а с .NET 5 разработчики получают доступ к F# 5. Интерполирование строк в C# и даже JavaScript, F# поддерживает базовую интерполяцию строк:

let name = "David"

let age = 36

let message = $"%s{name} is %d{age} years old."

Помимо базовой строковой интерполяции существует типизированная интерполяция. При типизированной интерполяции данный тип должен соответствовать спецификатору формата.

Это похоже на sprint функцию, которая форматирует строку на основе типобезопасных входных данных.

.NET MAUI

.NET MAUI – это эволюция набирающего популярность инструментария Xamarin.Forms с открытым исходным кодом на GitHub.

.NET MAUI упрощает выбор для разработчиков .NET, предоставляя единый стек, который поддерживает все современные рабочие нагрузки: Android, iOS, macOS и Windows. С .NET MAUI можно создать единый проект для разработчиков, ориентированный на несколько платформ и устройств.

Модель-просмотр-обновление шаблон

Свободный подход к разработке пользовательского интерфейса, вдохновленный «The Elm Architecture», – это модель-представление-обновление или шаблон MVU. MVU поддерживает односторонний поток данных и управление состоянием, а также опыт разработки кода. Это позволяет быстро обновлять пользовательский интерфейс, применяя только необходимые изменения.
Автор:
Обозреватель

См. также

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    993    user1915669    3       

2

Федеральная налоговая служба запустила интерактивный сервис, позволяющий формировать в машиночитаемом виде договоры, контракты, соглашения и спецификации. Чтобы создать документ и скачать получившийся файл, регистрация не требуется.

03.12.2024    791    user2114475    0       

2

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    951    user1915669    0       

3

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1260    AnastasiaKl    0       

4

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1240    user1915669    2       

2

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    875    user1915669    0       

2

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    988    AnastasiaKl    0       

1

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    1064    user1915669    0       

1

Комментарии

Инфостарт бот
1. Perfolenta 19.11.20 22:07 Сейчас в теме
Когда только появилась новость о начале разработки Net 5, было обещано, что WinForms и WPF туда войдут... и они вошли... но только для Windows... печалька...
А еще, так и не сделали AssemblyBuilder.Save, из-за чего многие компиляторы так и не могут быть переведены на Net 5 без серьёзного переписывания... ещё одна печалька... (правда в Net 6 вроде бы теперь обещают это сделать, но это не точно)
А в целом, Net 5 это хороший шаг вперёд...
3. Darklight 20.11.20 16:52 Сейчас в теме
(1)Поэтому не спешим пернеходить на .NET 5 - ждём минимум .NET 6 - а скорее даже .NET 7 - только тогда переход более менее завершится - а пока начался именно переходный период - и в него лучше не лезть, тем более со старыми проектами! Но с новыми - поэкспериментировать можно, но, всё же стоит дождаться хотя бы версии 5.1 - а то багов сейчас понаходят ещё "мама не горюй", и новую VS тоже стоит подождать
2. Darklight 20.11.20 16:40 Сейчас в теме
Создатели планируют поддерживать .NET 5.0 до середины февраля 2022 года. Следующий выпуск .NET 6.0 станет LTS-версией и будет поддерживаться в течение трех лет

Вот тогда и будем переходит на новый .NET c 4.7 а пока это не более чем новая генерация .NET CORE 3.1

включены в .NET 5.0 SDK вместе с Visual Basic

Странно, вроде бы Мелкомягкие болт забили на Visual Basic - хотя, впрочем, они забили на его развитие, а поддержку оставили - значит будут тянуть его пока в новые платформы .NET

Указатели на функции: языковые конструкции, которые предоставляют следующие коды операций промежуточного языка (IL) – «ldftn и calli».

Наверное самое важное нововведение платформы .NET (вот только в C# 9 как это будет выглядеть - ведь вроде бы функции высшего порядка и функциональные типы отложили до C#10). Конечно, в C# сразу были делегаты - только пользоваться ими не так удобно как функциями высшего порядка и указанием функционального типа по месту применения (без декларации его объявления заранее).
1С НУ ОЧЕНЬ СИЛЬНО НЕХВАТАЕТ ПОДОБНЫХ ВОЗМОЖНОСТЕЙ! Давно ломаю голову как это обойти - но пока выходят только костыли!

Генераторы исходного кода позволяют проверять программу во время компиляции и создавать дополнительные файлы, которые компилируются вместе с остальной частью кода

Тоже важное нововведение. Правда ранее уже была альтернатива - VS T4 - теперь сделали более продвинутые возможности (правда, более продвинутая поддержка будет только после C# 10).
В 1С тоже очень нахватает подобных фишек! Хоть они и VS будут позволять только создавать новый код, но не менять старый! Даже так - было бы здорово иметь в 1С. А если бы ещё и функционал расширений фунций можно было бы применять в основной конфигурации - то вообще лепота была бы!

.NET MAUI упрощает выбор для разработчиков .NET, предоставляя единый стек, который поддерживает все современные рабочие нагрузки: Android, iOS, macOS и Window

Хм... а где же Linux?
SKravchenko; +1 Ответить

Оставьте свое сообщение