Microsoft опубликовала открытую платформу .NET Core 3.0
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.