Microsoft предлагает две среды исполнения NET Framework и .NET Core, каждая из которых реализует .NET стандарт, код между ними будет кросс-совместимым, а ключевым моментом является то, .NET Framework работает исключительно с Windows. Вместе со специалистами разбираемся, какие приложения на .NET бывают и в чем разница, на чем лучше остановить выбор и почему.
Основные моменты
Базой является то что .NET Core предназначена для работы с операционками Linux и macOS, в то время как .NET Framework, ориентирован на Windows, обеспечивая доступ к специальным службам данной операционной системы и пакетам NuGet.
NET Core что это
В своем роде это наследник фреймворка, который имеет ряд ключевых отличий, в целом сохраняя преемственность. Dotnet разработчики должны знать, что обе платформы используют один API, но при этом фреймворк это продукт Microsoft только для Windows, в то время как .NET Core опенсорс с открытым кодом, идеальным образом подходящий для разработки dotnet приложений под linux. Оценивая Framework vs Core, нельзя не отметить что второй существенно легче, зачастую применяясь совместно с Docker и различными микросервисами. Плюс к этому разница есть в составе пакетов NuGet различных версий, что должно учитываться при разработке приложений. Также, например, ASP.NET Core существенно отличается от ASP.NET 4,
Применение .NET Core
Applications development в .NET Core поверх.NET Framework актуальна, когда:
- - Создаваемое дот нет приложение должно быть кросс-платформенным, необходимо применение библиотек runtime, архитектур Docker с микросервисами;
- - При запуске новых проектов, если нет особых указаний в техническом задании, выбор .NET Framework vs .NET Core всегда в пользу последнего, который более функционален и имеет открытый код платформы;
- - Нет необходимости использовать runtime библиотеки, и пакеты NuGet;
- - Для достижения максимальной производительности dotnet приложений рекомендуется связка .NET Core плюс ASP.NET.
- - Для разработки эффективных web приложений;
- - Нужен доступ к командной строке линукс, возможность запуска серверов сборки.
Когда выбирать .NET Framework
Программная разработка в среде нет фреймворка будет актуальной для:
- - приложений, рассчитанных на работу в операционной системе Windows;
- - предполагается использование библиотек Виндоус, например, WPF, Windows Forms, а также ASP.NET Web Forms
- - ведется доработка или подготовка новых версий приложений, ранее сделанных на .NET Framework.
Миграция на .NET Core
Для переноса кода между платформами понадобится ряд действий и корректировок. Вначале, следует изучить подготовленное Microsoft руководство по портированию. А также есть ряд достаточно эффективных инструментов, например, dotnet try-convert. При подготовке и оценке проектов для миграции используйте Анализатор переносимости .NET, который также выпущен Microsoft, произведет сканирование проекта и подготовит отчет.