Компания Microsoft опубликовала открытую платформу .NET Core 3.0

Компания Microsoft представила выпуск открытой платформы .NET Core 3.0 для Windows, macOS и Linux. Исходные тексты компонентов .NET Core распространяются под лицензиями MIT и Apache 2.0. Кроме Windows заявлена поддержка Red Hat Enterprise Linux 6 и 7, CentOS 7, Debian 9+, Fedora 28+, SUSE Linux Enterprise Server 12 SP2+, openSUSE 15+, Oracle Linux 7, Alpine Linux 3.8+, Ubuntu 16.04+, Linux Mint 18+, macOS 10.13+. Также сообщается о согласовании поставки .NET Core 3.0 в составе дистрибутива RHEL 8 в наборе Red Hat Application Streams.

В состав .NET Core входят CoreCLR (.NET runtime c низкоуровневыми классами, сборщиком мусора, JIT-компилятором RyuJIT, средствами для загрузки байткода и его компиляции в машинный код), стандартные библиотеки, библиотеки CoreFX, WPF, Windows Forms, WinUI, Entity Framework и утилиты, предоставляющие средства для разработки микросервисов, библиотек, серверных и консольных приложений на базе платформы .NET. .NET Core построен на модульной основе и изначально развивается как многоплатформенный продукт, обеспечивающий полноценную поддержку Linux. Для запуска и сборки приложений .NET Core предлагается интерфейс командной строки dotnet, который предоставляет типовой набор команд для выбора runtime, определения политики загрузки, инициализации проекта, сборки, создания пакета, публикации и выполнения приложения.

Новый выпуск примечателен включением в состав фреймворка для разработки клиентских приложений WPF, позволяющего создавать кроссплатформенные интерфейсы пользователя с использованием языка разметки XAML и библиотеки готовых элементов интерфейса WinUI (Windows UI Library). В состав также включены компоненты для создания интерфейсов с использованием классической библиотеки классов Windows Forms, которая представляет собой надстройку над Windows API (User32 и GDI+). Поддержка создания графических приложений ограничена платформой Windows, как при использовании Windows Forms, так и при применении WPF.

Некоторые другие новшества .NET Core 3.0:

  • Возможность создания самодостаточных приложений (формируется исполняемый файл, включающий .NET Core и зависимости);
  • Поддержка TLS 1.3 и HTTP/2.0;
  • Реализация API для встраиваемых и IoT устройств (GPIO, PWM, SPI, I2C);
  • Поддержка архитектуры ARM64 (для Linux) и плат Raspberry Pi;
  • Возможность одновременного запуска нескольких экземпляров .NET Core на одной системе;
  • Новый высокопроизводительный API для работы с форматом JSON;
  • Поддержка языка C# 8 с реализацией асинхронных потоков, типов System.Index и System.Range, операторов »?=» и »^», рекурсивных шаблонов, выражений switch и ссылочных типов, которые могут или не могут принимать значение null;
  • Сокращено потребление памяти сборщиком мусора и повышена эффективность работы на многоядерных системах;
  • Проведена адаптация .NET Core для работы в изолированных контейнерах на базе Docker;
  • Проведена большая оптимизация производительности.

Помимо .NET Core 3.0 также опубликованы стек для разработки web-приложений ASP.NET Core 3.0, ORM-прослойка Entity Framework Core 3.0 (драйверы, имеются в том числе для SQLite и PostgreSQL) и Entity Framework 6.3 (EF6). Из улучшений в ASP.NET Core 3.0 выделяется возможность создания клиентских web-приложений на языке C# вместо JavaScript (используется Blazor и WebAssembly), поддержка бэкендов на базе gRPC, включение HTTP/2, поддержка аутентификации для Web API, поддержка Kerberos.

© OpenNet