Перейти к содержанию

Когда следует отдать предпочтение ASP.NET Core

Какие типы приложений можно создавать?

Традиционные веб-приложения с отрисовкой на стороне сервера, состоящие из отдельных страниц, являются основой разработки на ASP.NET (это справедливо не только для Core но и предыдущих версий). Кроме того, можно создавать одностраничные приложения (SPA) на любом фреймворке (он обычно общается с сервером при помощи REST, используя приложение ASP.NET Core в качестве серверного API.
ASP.NET Core не ограничивается созданием RESTful сервисов. В зависимости от требований можно легко создать веб-сервис или RPC-сервис для своего приложения. В простейшем случае приложение может предоставлять только одну конечную точку, сужая область действия до микросервиса. ASP.NET Core идеально подходит для создания простых сервисов благодаря тому, что является кросс-платформенным и легковесным.
Pasted image 20211124204347.png
Одним из нетехнических факторов выбора платформы является уровень поддержки, которую можно ожидать от ее создателей. Microsoft обещает обсепечить полную поддержку LTS версий .NET Core и ASP.NET Core в течение как минимум трёх лет с момента выпуска.

Если вы новичок в разработке на .NET

Microsoft продвигает ASP.NET Core как привлекательный вариант для новичков в веб-разработке, а переход на кросс-платформенность означает, что он конкурирует с другими фреймворками на их территории.
Вот преимущества ASP.NET Core перед другими фреймворками:

  • это современный высокопроизводительный фреймворк с открытым исходным кодом;
  • он использует уже знакомые паттерны и парадигмы;
  • C# — прекрасный язык, также можно использовать VB.NET или F#;
  • можно выполнять сборку и запуск на любой платформе.

Если вы разработчик, создающий новое приложение

Microsoft теперь напрямую советует, что все новые приложения должны использовать .NET 5. NET Framework останется доступным и будет получать обновления безопасности, но обновлений функциональности больше не будет. Не стоит использовать .NET Framework и старый ASP.NET для новых разработок.
Основные преимущества ASP.NET Core по сравнению с предыдущим ASP.NET:

  • кросс-платформенная разработка и развертывание;
  • акцент на производительность — встроенный HTTP-сервер Kestrel достаточно быстр;
  • упрощенная модель хостинга — теперь IIS не нужен, всё работает как консольное приложение;
  • регулярные выпуски с более коротким циклом;
  • открытый исходный код;
  • модульные функции — теперь любую необходимую функцию можно подключить как библиотеку.

Перенос существующего ASP.NET приложения на ASP.NET Core

Преимущества переноса существующего приложения на ASP.NET Core в основном такие же, как и для нового приложения: кросс-платформенность, модульные функции и акцент на производительность. Однако, есть характеристики, которые являются явными индикаторами не в пользу перехода:

  • приложение использует технологию Web Forms1;
  • приложение создано с использованием WCF23;
  • приложение больше, со множеством “продвинутых” функций MVC.

Когда же следует переносить приложение на ASP.NET Core? Если существующее приложение невелико, состоит в основном из контроллеров MVC или WebAPI и связанных представлений Razor, переход на ASP.NET Core может стать неплохим решением.


  1. Можно попробовать преобразовать такое приложение в приложение Blazor, используя открытый проект по созданию Blazor-версий распространенных WebForms-компонентов: https://github.com/FritzAndFriends/BlazorWebFormsComponents 

  2. Клиентские библиотеки для использования WCF с .NET Core: https://github.com/dotnet/wcf 

  3. Если вам нравится программирование в стиле RPC, но нет жестких требований к WCF, можно рассмотреть возможность использования gRPC. Он поддерживается ASP.NET Core. Вот электронная книга от Microsoft по gRPC для разработчиков WCF: https://docs.microsoft.com/en-us/dotnet/architecture/grpc-for-wcf-developers/ 


Последнее обновление : 11 апреля 2023 г.
Дата создания : 17 сентября 2022 г.

Комментарии

Комментарии