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

Компания Microsoft представила выпуск открытой платформы .NET Core 2.0 для Windows, macOS и Linux. Одновременно опубликованы стек для разработки web-приложений ASP.NET Core 2.0, ORM-прослойка Entity Framework Core 2.0 (драйверы, имеются в том числе для SQLite и PostgreSQL) и набор для разработчиков .NET Core SDK 2.0.0. Также подготовлена спецификация .NET Standard 2.0, в рамках которой предпринята попытка стандартизировать API в различных реализациях .NET (.NET Core, .NET Framework, Mono и Universal Windows Platform) и упростить обмен кодом.

Исходные тексты компонентов .NET Core распространяются под лицензиями MIT и Apache 2, ASP.NET Core поставляется под лицензией Apache 2. Кроме Windows заявлена поддержка Red Hat Enterprise Linux 7, CentOS 7, Debian 8/9, Fedora 25/26, SUSE Linux Enterprise Server 12 SP2+, openSUSE 42.2+, Oracle Linux 7, Ubuntu 14.04/17.04, Linux Mint 17/18, macOS 10.12/10.13.

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

В новой версии отмечается значительное увеличение производительности фреймворка и runtime. Реализована спецификация .NET Standard 2.0, в которой более чем в два раза расширен API. Добавлена поддержка шести новых платформ, включая Debian Stretch, SUSE Linux Enterprise Server 12 SP2 и macOS High Sierra. Поддержка Linux теперь не разделена по дистрибутивам, а поставляется в виде универсальных сборок для x64 и arm, которые работают на всех поддерживаемых дистрибутивах.

Реализована предварительная поддержка платформы Linux на системах ARM32, позволяющая использовать .NET Core на платах Raspberry Pi. Высокопроизводительный открытый JIT-компилятор RyuJIT задействован на 32-рязрядных системах x86 (в прошлой версии RyuJIT использовался только на x86_64), заменив ранее применявшийся проприетарный JIT-компилятор JIT32. В SDK реализован автоматический вызов команды «dotnet restore» для обработки зависимостей при выполнении таких команд, как run, build и publish. Обеспечена возможность сборки .NET Core SDK из исходных текстов.

© OpenNet