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 +, MacOS 10.13+. Також повідомляється про погодження постачання .NET Core 3.0 у складі дистрибутива RHEL 8 у наборі Red Hat Application Streams.
До складу .NET Core входять CoreCLR (.NET runtime з низькорівневими класами, збирачем сміття, 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. З покращень в ASP.NET Core 3.0 виділяється можливість створення клієнтських web-додатків мовою C# замість JavaScript (використовується Blazor і WebAssembly), підтримка бекендів на базі gRPC, включення HTTP/2, підтримка автентифікації для Web API, підтримка Kerberos.