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

Одним из нетехнических факторов выбора платформы является уровень поддержки, которую можно ожидать от ее создателей. 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 может стать неплохим решением.
-
Можно попробовать преобразовать такое приложение в приложение Blazor, используя открытый проект по созданию Blazor-версий распространенных WebForms-компонентов: https://github.com/FritzAndFriends/BlazorWebFormsComponents ↩
-
Клиентские библиотеки для использования WCF с .NET Core: https://github.com/dotnet/wcf ↩
-
Если вам нравится программирование в стиле RPC, но нет жестких требований к WCF, можно рассмотреть возможность использования gRPC. Он поддерживается ASP.NET Core. Вот электронная книга от Microsoft по gRPC для разработчиков WCF: https://docs.microsoft.com/en-us/dotnet/architecture/grpc-for-wcf-developers/ ↩
Дата создания : 17 сентября 2022 г.