Microsoft .NET – это среда разработки программного обеспечения, предназначенная как для создания автономных компьютерных приложений, так и для веб-приложений. .NET Core – это скорее подмножество с некоторыми фундаментальными изменениями. Ядро .NET позиционируется как следующая большая вещь, поскольку оно поддерживает кросс-платформы, такие как Windows, Linux, macOS и мобильные устройства. Важно знать разницу между ними.

Кросс-платформенная поддержка

Принципиальное различие между .NET и .NET Core заключается в том, что .NET framework работает только в Windows. При разработке кроссплатформенных приложений вам необходимо использовать ядро .NET. В целом ядро и фреймворк практически одинаковы. Но на практике у них есть небольшие отличия.

И .NET Core, и .NET Framework используют один и тот же API под названием .NET Standard. Ядро имеет открытый исходный код, а фреймворк – это реализация только для Windows. В целом Core более легкий и современный по сравнению с фреймворком.

Microsoft разработала Core для работы с Docker в серверных частях на основе микросервисов. Помимо этого, большинство различий заключается в пакете NuGet. Entity Framework Core немного отличается от Entity Framework 6, который работает на .NET Framework. ASP.NET Core кардинально отличается от ASP.NET 4.

Когда использовать .NET Framework

.NET стоит использовать вместо .NET Core только в том случае, если вы планируете развертывание на Windows. Если вы активно используете пакеты и библиотеки Windows, такие как Windows Forms, WPF, веб-формы / страницы ASP.NET и Windows Workflow Foundation, то платформа .NET для вас.

Когда использовать .NET Core

Когда вам нужна кросс-платформенная совместимость, включая Docker и микросервисы, ядро .NET – лучший выбор. Если вы не используете какие-либо специальные инструменты, библиотеки или пакеты NuGet для Windows, которые зависят от .NET Framework, .NET Core – лучший выбор.