Какую версию и модель ASP.NET выбрать

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

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

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

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

Евгений Кучерявый

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


Какие есть версии ASP.NET

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

ASP.NET 5

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

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

ASP.NET Core

Эта версия использует .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. Поэтому сегодня он менее востребован по сравнению со своим основным конкурентом.

Какую модель ASP.NET выбрать

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

ASP.NET Web Forms

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

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

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

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

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

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

Схожесть с Windows Forms

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

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

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

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

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

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

ASP.NET MVC

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

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

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

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

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

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

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

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

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

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

Недостатки:

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

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

ASP.NET Web API

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

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


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


ASP.NET Razor Pages

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 позволяет создавать серверную часть приложения и может быть использована вместе с другими моделями.

Если вы пока только собираетесь изучать ASP.NET или C#, записывайтесь на курс «Профессия C#-разработчик». Там вы изучите современные технологии разработки сайтов и даже запустите несколько своих проектов, которые можно будет добавить в портфолио.

Курс

Профессия С#-разработчик


130 часов — и вы научитесь писать программы на языке, созданном Microsoft. Мы создадим 5 проектов для портфолио, даже если до этого никогда не программировали. После прохождения обучения — гарантированное трудоустройство.

Хочешь получать крутые статьи по программированию?
Подпишись на рассылку Skillbox