Общие сведения об ASP.NET Core

ASP.NET Core является кроссплатформенной, высокопроизводительной платформой с открытым исходным кодом для создания современных web-приложений. В качестве языков программирования для разработки приложений на ASP.NET Core используются C# и F#.

Обзор ASP.NET Core

На данный момент, ASP.NET Core можно представить следующим образом:

ASP.NET Core
ASP.NET Core

Верхний уровень представлен Web UI — это различные модели взаимодействия с пользователем, такие как MVC (Model-View-Controller), Razor Pages, SPA (Single Page Application — одностраничные приложения с использованием Angular, React, Vue), Blazor. Также на этом уровне представлены сервисы в виде встроенных HTTP API, библиотеки SignalR или gRPC.

Все эти модели взаимодействуют или базируются на ASP.NET Core, который представлен на втором уровне так называемым ПО промежуточного слоя — Middleware, которые применяются для обработки запроса, кэширования запросов, локализации и т.д.

Нижний уровень в ASP.NET Core представлен различными серверами. Приложение ASP.NET Core работает в рамках какого-либо сервера. Это может быть сервер Kestrel, IIS/IIS Express или же библиотека HTTP.sys.

Модели разработки приложения ASP.NET Core

В зависимости от требований, которые предъявляются к приложению ASP.NET Core мы можем выбрать одну из следующих моделей разработки:

  • базовая модель ASP.NET Core — здесь поддерживаются все основные возможности, необходимые для современного веб-приложения: маршрутизация, конфигурация, логирование, работа с базами данных и т.д.. Начиная с версии ASP.NET Core 6 в платформу был добавлен Minimal API — упрощенная модель, позволяющая создавать приложения ASP.NET Core с минимальными усилиями буквально состоящие из одного файла. Minimal API упростил процесс разработки и написания кода приложения. Все прочие модели разработки так или иначе работают поверх базового функционала ASP.NET Core.
  • ASP.NET Core MVC представляет процесс построения приложения с использованием шаблона MVC в котором приложение строится вокруг трех основных компонентов — Model (модели), View (представления) и Controller (контроллера). Модель — отвечают за работу с данными, контроллер — представляет логику обработки запросов пользователя, а представления, по сути, определяют визуальный интерфейс приложения.
  • Razor Pages —  модель, при которой за обработка запроса осуществляется специальной сущностью — страницей Razor Pages. Каждую отдельную такую сущность можно ассоциировать с отдельной веб-страницей.
  • Blazor — фреймворк, который позволяет создавать интерактивные приложения как на стороне сервера, так и на стороне клиента. В Blazor, как и в Razor Pages активно используется язык разметки Razor. Но, при этом Blazor делает разработку визуального интерфейса более простой, позволяет задействовать в приложении различные фреймворки CSS и JavaScript.
  • ASP.NET Core Web API — реализация паттерна REST, при котором для каждого типа http-запроса (GET, POST, PUT, DELETE) предназначен отдельный ресурс. Подобные ресурсы определяются в виде методов контроллера Web API. Эту модель разработки можно задействовать, например, для одностраничных приложений или же в том случае, если от вашего приложения вообще не требуется какая-либо визуализация.

Таким образом, ASP.NET Core предоставляет нам широкие возможности по разработки различных web-приложений с самыми разнообразными возможностями.

С чего начинать изучение ASP.NET Core?

Исходя из всего вышесказанного, можно сказать, что у человека, впервые столкнувшегося с ASP.NET Core может возникнуть резонный вопрос: с чего начать? И, второй вопрос: что необходимо знать перед тем, как начать изучать ASP.NET Core?

Возможно, что с моей точкой зрения кто-то не согласится, но попробую ответить на эти вопросы следующим образом.

С чего начинать? Во-первых, всегда стоит начинать с основ, то есть в нашем случае — это базовая модель ASP.NET Core (можно и Minimal API). Это, в дальнейшем, поможет вам понимать, как минимум, как ваше приложение вообще работает, обрабатывает запросы, взаимодействует с СУБД и т.д.

Во-вторых, стоит определится с тем, как вы видите свое приложение: это должно быть приложение с современными интерфейсом, различными «фичами» из JavaScript и крутыми спецэффектами или это будет сервис, который обрабатывает запрос пользователя и отправляет ответ, например, в виде JSON? Если это будет приложение с пользовательским интерфейсом, то порядок изучения ASP.NET Core можно выстроить следующим образом: ASP.NET Core MVC —> Razor Pages —> Blazor (Server или WebAssembly). Если вам необходим просто API — тогда берем ASP.NET Core Web API

Что необходимо знать перед тем, как начать изучать ASP.NET Core? На первом этапе (до начала работы с Razor/Blazor) необходимы хорошие знания языка C# и, в принципе, самые-самые минимальные знания html/css. А уже когда начинается работа с пользовательским интерфейсом, то здесь уже могут потребоваться знания и JavaScript и различных CSS-фреймворков, типа Bootstrap.

Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии