Введение в Что такое .NET Core

В следующей статье Что такое ядро ​​.Net подробно описывается архитектура ядра .Net. .Net Core - это платформа разработки с открытым исходным кодом, разработанная и поддерживаемая Microsoft и сообществом .Net. .Net Core был разработан с учетом различных потребностей и целей, ориентируясь на веб-разработку, разработку для Windows Phone и разработку приложений для Магазина Windows. .Net Core является подмножеством .Net Framework. В более точном выражении, раздутая версия .Net Framework. Теперь вам может быть интересно, зачем нужно было создавать .Net Core, когда он является лишь подмножеством .Net Framework. Ядро .Net имеет некоторые фундаментальные изменения в том, как оно работает. Прежде всего, он более модульный. Это помогает создавать приложения только с необходимыми библиотеками и без дополнительного багажа. Во-вторых, это действительно кроссплатформенность. Это делает выбор платформы разработки будущего.

.Net Core Architecture

  • С любой платформой или платформой для разработки, основным и самым важным является ее архитектура. Архитектура определяет способ взаимодействия разработчиков и библиотек с платформой. Прежде чем мы узнаем больше о .Net Core, важно посмотреть, что лежит в основе .Net Core.

  • Вот где .Net Core находится в .Net Stack. Различные .Net Frameworks и библиотеки, на сегодняшний день, используют общие библиотеки времени выполнения, компиляторы и пакеты NuGet. Они создают свои собственные специфичные для платформы библиотеки поверх этих общих пакетов. Общие библиотеки содержат определения примитивных элементов, таких как типы данных. Это вряд ли изменится и, таким образом, является основой для всех стековых платформ .Net.

Ключевые термины в архитектуре .Net Core

Давайте разберемся с ключевыми терминами в архитектуре .Net Core.

Core CLR

Core CLR - это общеязыковая среда исполнения, оптимизированная для многоплатформенного и облачного развертывания. Это, наряду с .Net Native Runtime, составляет основу всех платформ на основе .Net.

.Net Native Runtime

.Net Native Runtime, также называемая Managed Runtime, содержит собственные библиотеки на основе Windows. Это также содержит компиляцию Ahead Of Time (AOT) вместо предыдущей компиляции Just In Time (JIT). Это повышает производительность приложений.

.Net Native Runtime и Core CLR - это уровни, которые содержат реализации примитивных типов, а также общие коллекции в .Net. Эти слои практически не меняются и являются постоянными в разных стеках .Net. Таким образом, различные API стека .Net используют одни и те же реализации.

Единый BCL

Унифицированная библиотека базовых классов, также называемая CoreFX, состоит из базового и фундаментального классов, составляющих ядро ​​платформы .Net Core.

Модели приложений

На вершине BCL находятся различные модели приложений, которые разработчики используют для разработки приложений для конкретной платформы. В настоящее время .Net Core имеет модель ASP .Net для веб-разработки и модель Магазина Windows для разработки приложений Windows.

Сила NuGet

  • Платформа .Net Core, в отличие от своего предшественника .Net Framework, поставляется в виде набора пакетов NuGet. Таким образом, .Net Core вносит существенный вклад в и без того процветающую экосистему пакетов NuGet. Обратите внимание, что .Net Core не поставляется в виде единого пакета NuGet. Вместо этого он был разложен на модули, откомпилирован и поставляется в виде нескольких пакетов NuGet.
  • Более того, Microsoft устранила путаницу вокруг номенклатуры пакетов NuGet и соответствующих сборок. В .Net Core пакеты NuGet имеют то же имя, что и сборка. Например, неизменяемые коллекции теперь поставляются под именем System.Collections.Immutable вместо Microsoft.BCL.Immutable. Это значительно упростило задачу определения, какой пакет NuGet содержит какую сборку. Эй, теперь они названы одинаковыми.

Итак, почему Microsoft решила отправить .Net Core в виде набора пакетов NuGet? Ну, вот причины:

  • NuGet позволяет оперативно доставлять .Net Core. Любое обновление до любой функции .Net Core можно просто использовать, обновляя пакет NuGet.
  • Это обобщило зависимости в ваших приложениях. Теперь нет ссылок на сборки, библиотек и сторонних ссылок NuGet. Теперь они все NuGet. Таким образом, если какой-либо сторонний пакет NuGet требует более высокой версии библиотеки System.Collections, он предложит обновить соответствующую систему. Коллекции пакета NuGet и все готово. Это действительно становится очень простым.
  • Модульный подход .Net Core гарантирует, что каждое приложение развертывает только те пакеты, которые им необходимы. Никакого дополнительного багажа.

Как .Net Core облегчает работу?

.Net Core - это платформа, поверх которой существуют такие платформы, как ASP .Net Core и Universal Windows Platform, которые используют и расширяют возможности .Net Core. Давайте посмотрим на возможности .Net Core, которые облегчают жизнь разработчикам.

Кроссплатформенность и архитектура

.Net Core работает по принципу «один раз запусти куда угодно». Таким образом, это кроссплатформенный. Он поддерживает платформы Windows, MacOS и Linux. Вы можете построить свое приложение на любой платформе и запустить на другой. Кроме того, приложение, встроенное в .Net Core, соответствует своему поведению в любой архитектуре, такой как x64, x86 или ARM.

Инструменты командной строки

.Net Core поставляется с удобными инструментами командной строки для тех, кто любит кодировать черно-белые. Эти инструменты удобны для локальной разработки, а также для непрерывной интеграции кода в репозитории.

Гибкий CI / CD

.Net Core поддерживает непрерывную интеграцию и непрерывное развертывание. Таким образом, вам нужно беспокоиться только о логике кода. Все остальное обрабатывается платформой .Net Core.

Языки и среды разработки

Приложения и библиотеки .Net Core и могут быть написаны на C #, F # и Visual Basic. Это также поддерживается интеграцией с вашими любимыми IDE, такими как Visual Studio, VS Code, Sublime, Vim и т. Д.

Совместимость и поддержка

Совместим с .Net Framework, .Net Standard, Mono API и Xamarin. Будучи открытым исходным кодом, он пользуется большой поддержкой как сообщества, так и Microsoft.

API-интерфейсы

.Net Core предоставляет API-интерфейсы для многих общих и высокопроизводительных сценариев. С одной стороны, есть API для примитивных типов данных (bool, int и т. Д.) И коллекций (списки, словари и т. Д.). С другой стороны, есть API для высокопроизводительных типов, таких как Vector и Pipelines.

Требуемые навыки

.Net Core - это платформа для разработки приложений. Существуют платформы, основанные на .Net Core, которые разработчики могут использовать для создания приложений поверх них. Чтобы освоить разработку в .Net Core, вам необходимо иметь базовые знания о разработке ASP .Net, архитектуре MVC и о том, как пакеты и ссылки на сборки NuGet работают в ASP .Net. Это значительно упростит вашу кривую обучения. Кроме того, знание C # необходимо для разработки приложения в .Net Core.

Для тех, кто уже является разработчиком .Net Framework и хочет перенести свои приложения в .Net Core, рекомендуется учитывать следующие моменты:

  • .Net Core поддерживает архитектуру ASP .Net MVC. Однако если ваше приложение основано на веб-формах, .Net Core не поддерживает веб-формы.
  • Если ваше приложение построено на архитектуре ASP .Net MVC, единственным преимуществом для его переноса на платформу .Net Core является кросс-совместимость. Если кросс-совместимость не так уж важна для вашего приложения, ASP .Net MVC также хорош.
  • .Net Core специализируется в основном на разработке веб-приложений и Магазина Windows. Таким образом, в настоящее время нет поддержки настольных приложений.
  • Консольные приложения больше всего выигрывают от миграции .Net Core. Это сделало бы их работоспособными в нескольких операционных системах.
  • Веб-приложения, встроенные в Silverlight, должны будут перейти на HTML, прежде чем рассматривать .Net Core. Поддержка Silverlight была прекращена Microsoft.

Как .Net Core помогает в карьерном росте

.Net Core действительно кроссплатформенный. Это будущая платформа Microsoft для интегрированных сред разработки для устройств будущего. .Net Core ориентирована на Интернет, Магазин Windows и сенсорные устройства.

Изучение .Net Core поможет вам в создании приложений, отвечающих будущим потребностям устройств и платформ. Принципы разработки .Net Core гарантируют, что вы будете следовать лучшим практикам разработки. Существует быстро растущая потребность в более надежном и интерактивном приложении, будь то веб-интерфейс или мобильная связь. Это, в свою очередь, обусловливает необходимость в улучшенной, более простой и удобной для разработчиков платформе. Прошли те времена, когда приложение, разработанное на одной платформе, не работало на другой платформе. Сегодняшним требованием является разработка приложений, которые создаются один раз и работают везде. .Net Core построен на этой идеологии, и его изучение поможет вам создавать лучшие приложения для современных устройств.

Вывод - что такое .NET Core

Платформа .NET Core не похожа на свою предшественницу .Net Framework. Это новый стек .NET, оптимизированный для разработки с открытым исходным кодом и быстрой доставки через NuGet. Хотя платформа .NET Framework была разработана для кроссплатформенности, она была в основном платформой только для Windows. .NET Core действительно кроссплатформенный. Microsoft стремится к будущему, и .Net Core - очень плодотворный шаг в этом направлении.

Заинтересованным читателям рекомендуется углубиться в .Net Core, читая блоги разработчиков Microsoft. Для тех, кто хочет начать создавать приложения в .Net Core, лучше всего начать с проекта оболочки в .Net Core в Visual Studio.

Рекомендуемые статьи

Это руководство к тому, что такое .NET Core. Здесь мы обсуждаем .NET Core Architecture, работающие, необходимые навыки вместе с Carrer Growth. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. ASP.NET Framework
  2. Что такое ASP.NET?
  3. Жизненный цикл страницы ASP.NET
  4. Карьера в ASP.NET
  5. Xamarin Интервью Вопросы | Топ 18