Немного размышлений по поводу .NET Core

.NET Core появился уже достаточно давно, претерпел ряд изменений и даже обзавелся второй версией.

С появлением .NET Core в архитектуре .NET появилось понятие .NET Standard — представляет спецификацию интерфейсов, которые должны реализовывать все версии .NET, что дает возможность разработчикам создавать переносимые библиотеки, которые возможно использовать в разных реализациях .NET благодаря общему набору интерфейсов.

.NET Standard

Разные реализации .NET реализуют определенные версии .NET Standard.

Поддержка реализации .NET

В следующей таблице перечислены все версии .NET Standard и поддерживаемые платформы:

.NET Standard1.01.11.21.31.41.51.62.0
.NET Core1.01.01.01.01.01.01.02.0
.NET Framework (с SDK-пакетом .NET Core 1.x)4.54.54.5.1 4.64.6.1 4.6.2
.NET Framework (с SDK-пакетом .NET Core 2.0)4.54.54.5.14.64.6.14.6.14.6.14.6.1
Mono4.64.64.64.64.64.64.65,4
Xamarin.iOS10.010.010.010.010.010.010.010.14
Xamarin.Mac3.03.03.03.03.03.03.03.8
Xamarin.Android7.07.07.07.07.07.07.08.0
Универсальная платформа Windows10.010.010.010.010.010.0.1629910.0.1629910.0.16299
Windows 8.08.08.0
Windows Phone8.18.18.1
Windows Phone Silverlight8.0

В итоге имеем, что есть .NET Standard который реализуется в других платформах, по большому счету в .Net Core, Классическом .NET Framework и Xamarin.

По сути .NET Core это вновь написанный .NET Framework, из которого убрали многое лишнее и при этом сделали кросплатформенным. Но это не значит что .NET Core подходит для всего. Для .NET Core по настоящему доступны 2 вида проектов: UWP и ASP.NET Core. Платформа .NET Core в первую очередь рассчитана на разработку серверных и облачных решений. Для проектов Мобильных приложений используется платформа Xamarin. Для проектов Десктопных приложений используется классический .NET Framework для Windows (WPF, Windows Forms) или Mono для Linux и Mac OS X.

.NET Core

Если рассматривать .NET Core в аспекте кросплатформенной разработки, то нам доступны 2 вида приложений из коробки, это: ASP.NET Core и Консольные приложения.

.NET Core Platforms

ASP.NET Core предоставляет следующие возможности:
  1. — Единое решение для создания пользовательского веб-интерфейса и веб-API.
  2. — Интеграция современных клиентских платформ и рабочих процессов разработки.
  3. — Облачная система конфигурации на основе среды.
  4. — Встроенное введение зависимостей.
  5. — Упрощенный высокопроизводительный модульный конвейер HTTP-запросов.
  6. — Возможность размещения в IIS, Nginx, Apache, Docker или в собственном процессе.
  7. — Параллельное управление версиями приложения, ориентированное на .NET Core.
  8. — Инструментарий, упрощающий процесс современной веб-разработки.
  9. — Возможность сборки и запуска в ОС Windows, macOS и Linux.
  10. — Открытый исходный код и ориентация на сообщество.

А теперь о плюшках, для чего действительно полезен .NET Core. А полезен он для реализации микросервисной архитектуры. Приложения .NET Core, на мой взгляд предназначены преимущественно для использования в качестве микросервисов, во всякого рода контейнерах (Например Докер). Тут есть ещё один интересный момент, это встроенный Веб Сервер Kerstel — который по умолчанию включен в шаблон проекта ASP.NET Core. Благодаря чему, всё что вам надо для запуска приложения в контейнере — это сам контейнер, среда .NET Core и непосредственно приложение. Вам даже не надо устанавливать Apache или Nginx.


0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.