Какую версию и модель ASP.NET выбрать
2026-02-21 09:12 Diff

#статьи

  • 6 сен 2019
  • 0

Выбрать фреймворк иногда так же трудно, как и придумать имя для персонажа в RPG. Поэтому мы подготовили статью о том, как выбрать версию ASP.NET.

 vlada_maestro / shutterstock

Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.

ASP.NET — мощная технология для создания сайтов. Но новичку трудно к ней подступиться, потому что эта технология существует в разных версиях — например, ASP.NET и ASP.NET Core. А кроме версий, есть еще четыре модели:

  • Web Forms;
  • MVC;
  • Web API;
  • Razor Pages.

Поможем вам разобраться в этом многообразии.

Версий достаточно много, но уделить внимание стоит двум: ASP.NET 5 и ASP.NET Core.

Для создания большинства сайтов используют именно эту версию. Она работает на .NET Framework, в котором сейчас больше возможностей, чем в .NET Core. Поэтому эта версия еще достаточно долго будет востребована.

Однако поддержку .NET Framework планируют прекратить. Поэтому изучать ASP.NET 5 в первую очередь стоит тем разработчикам, которые собираются устраиваться в команду, которая развивает и поддерживает существующий проект.

Эта версия использует .NET Core — переписанный с нуля .NET Framework. Его основные особенности: открытый исходный код и возможность запуска на любой платформе (Windows, Unix, MacOS, iOS, Android).

Microsoft планирует развивать именно .NET Core — в сентябре выйдет версия .NET Core 3.0, а в ноябре 2020 года появится .NET 5, который совместит в себе все преимущества .NET Framework и .NET Core (в Microsoft любят название .NET).

Эту версию стоит изучать тем, кто собирается работать над новыми проектами. Однако пока что в ASP.NET Core представлены не все возможности, которые есть в ASP.NET 5. Поэтому сегодня он менее востребован по сравнению со своим основным конкурентом.

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

Это обычная версия ASP.NET, которая позволяет работать со страницами с помощью HTML-элемента form (отсюда и название).

Основные преимущества:

Позволяет быстро разработать сайт

Поэтому Web Forms отлично подходят для создания прототипов — можно в короткий срок собрать демонстрационный проект, чтобы показать его заказчику.

Огромное количество библиотек

Web Forms достаточно давно на рынке, поэтому успело появиться множество библиотек, которые расширяют возможности фреймворка.

Схожесть с Windows Forms

Программисты, которые раньше занимались приложениями для компьютеров, смогут быстро вникнуть в процесс создания сайтов благодаря той же концепции событий.

Удобная разработка бизнес-приложений

Web Forms хорошо подходит для проектов, которые связаны с работой с большим объемом данных или большим количеством выполняемых запросов.

Однако есть и недостатки:

  • сложно проводить Unit-тестирование из-за событийно-ориентированной разработки;
  • основной код связан с кодом интерфейса;
  • большой размер страниц.

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

Эта модель позволяет использовать декларативный подход и MVC-паттерн (модель-вид-контроллер). Так разработчику становится доступной привязка данных и другие возможности.

Преимущества:

Разделение интерфейса и основного кода

Благодаря декларативному подходу разработчику не приходится добавлять в код приложения множество обработчиков событий — это позволяет сосредоточиться на создании основного функционала.

Широкие возможности для Unit-тестирования

Отсутствие обработчиков позволяет лучше производить тестирование. Также можно использовать подход TDD — разработку через тестирование.

Небольшой размер страниц

Сокращение кода позволяет ускорить загрузку сайта.

Простая интеграция библиотек и фреймворков для JavaScript

Можно легко добавить jQuery, Angular.JS или React.JS к своему проекту.

Недостатки:

  • У начинающих разработчиков могут быть сложности с освоением декларативного подхода.
  • Небольшое количество библиотек и компонентов.
  • Для запуска проекта требуется больше времени.

ASP.NET MVC используется многими компаниями, поэтому, изучая его, вы будете уверены, что всегда сможете найти работу.

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

Например, так можно создать сначала сайт проекта, а потом быстро разработать связанные с ним приложения, используя API.

К ASP.NET Web API можно подключить и другие модели — например, MVC.

Razor Pages — это новая улучшенная версия MVC. Она позволяет создавать файлы с расширением .cshtml, которые являются смесью C# и HTML. Выглядят они так:

@page //Директива представления страницы @model ClassName //В качестве модели указывается какой-то класс @{ ViewData["Title"] = "Skillbox"; //Выполнять код можно прямо в файле страницы } <h2>@ViewData["Title"]</h2> //Вывод указанного значения <p>@Model.Text</p> //Вывод свойства Text класса ClassName

Таким образом разработка ускоряется еще в несколько раз. Однако эта технология пока очень молодая, поэтому вакантных мест или заказов на фрилансе, в которых требуется ее использование, еще немного.

Выводы из статьи:

  • Новичкам стоит выбирать .NET Core, чтобы использовать его в будущем.
  • ASP.NET 5 нужно учить, если в задачи будет входить поддержка legacy-кода.
  • Web Forms — самая простая для освоения модель.
  • MVC и Razor Pages сложнее в изучении, но позволяют писать меньше кода и значительно ускорить разработку.
  • Web API позволяет создавать серверную часть приложения и может быть использована вместе с другими моделями.
Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу