https://www.reddit.com/r/csharp/comments/1jl9ejc/mvc_vs_razor_pages_vs_blazor/
Blazor, MVC, RazorPage
Я планирую создать базовое CRUD-приложение с возможностью поиска/сортировки/пагинации отображаемых данных, но не уверен, какой ASP.NET Core UI-фреймворк использовать и достаточно ли такого типа проекта для стажировки/работы на должности младшего специалиста.
Фронтенд для меня не так важен, как функциональность самого приложения, потому что я планирую претендовать на позиции бэкенд-разработчика, но опять же, мне нужен хотя бы минимальный фронтенд для корректного отображения данных из базы данных.
Blazor позволяет использовать C# для фронтенда, так что вы улучшаете свои общие знания языка, работая над фронтендом.
MVC очень распространен в корпоративных приложениях и уже довольно давно является «выбором по умолчанию». Поскольку он использует контроллеры, вы также познакомитесь с соглашениями, которые переносятся в API-контроллеры.
Razor Pages был попыткой создания новой парадигмы, но, насколько я вижу, не достиг такой же популярности. Я считаю, что они неплохи, но между Razor Pages и MVC я бы выбрал MVC.
Blazor, однако, в некотором смысле является духовным преемником Razor Pages, который получил широкое распространение. В мире .NET Blazor, похоже, занимает место MVC в качестве нового «стандартного» способа создания веб-приложений ASP.NET. На работе у меня все новые проекты создаются на Blazor, если только нет необходимости использовать что-то другое.
Мне очень нравится Blazor, и из этих трех, на мой взгляд, Blazor — лучший выбор. Конечно, есть определенный период обучения, необходимый для понимания режимов рендеринга Blazor и жизненного цикла компонентов, но как только вы разберетесь, работать с ним станет одно удовольствие.
Честно говоря, кажется, что Razor возвращается к ASP.net. А в некоторых случаях даже к классическому ASP.
Я использую Razor Pages для простых CRUD-сайтов для внутренних операций в моей компании, и мне это нравится.
Я бы настоятельно рекомендовал использовать Blazor, а также посоветовал бы установить пакет Mudblazor Nugget для вашего пользовательского интерфейса. Он содержит множество очень интуитивно понятных и чрезвычайно полезных компонентов и имеет очень подробную документацию в интернете.
Razor: Хорошо подходит для более легковесных решений или если вы умеете с ним работать [0]
MVC: Выбирайте его, если вы используете JS-фреймворк или что-то подобное для представления данных. Однако, по моему опыту, сторона MVC должна быть более легкой, чем API-контроллеры; то есть у вас будут некоторые легкие MVC-возвраты представлений, но большинство других вещей будут возвращать модели для JS/TS-фреймворка.
Blazor: Отлично подходит для более сложных приложений (например, обработка обновлений в реальном времени и т. д.), но вы будете привязаны к Blazor, и у него могут быть некоторые недостатки (но их гораздо меньше по мере развития!). Кроме того, в зависимости от способа запуска, он может быть немного более проблематичным для сервера или клиента из-за накладных расходов.
Blazor — самый современный из них, позволяющий писать код на C# для всего, практически без JavaScript, HTML или даже без необходимости задумываться о веб-сайте (если используется WASM, который, по сути, просто запускает ваш код на C# на компьютере пользователя при каждом посещении вашего сайта). Он чрезвычайно прост и может быть скопирован/вставлен непосредственно в клиентские приложения MauiBlazor, поэтому изучение его для веб-разработки означает, что вы можете применить эти знания и для создания локальных приложений.
Он становится довольно распространенным в отрасли, в компаниях, которые идут в ногу с развитием технологий и используют последние версии .NET. Вероятно, он не так распространен на рынке труда, как MVC или Razor-страницы, но компания, которая все еще использует их, вероятно, не следит за новейшими версиями и функциями .NET, и это может быть не та работа, которая вам действительно нужна.
Если цель — создание портфолио, я бы выбрал Blazor. Дополнительные баллы, если проект содержит три типа Blazor:
WASM, взаимодействующий через Web API
Интерактивный сервер (идеально подходит для административного интерфейса)
Статический сервер (страницы без интерактивности или страницы, которые можно загружать с помощью полноценных постов, например, страница входа)
Blazor — это новейший фреймворк, который делает всё то же, что и MVC и Razor Pages.
Если пользовательский интерфейс не важен, то не стоит его создавать. Вы можете спокойно проверять API с помощью модульных и сквозных тестов.
Однако вы можете обнаружить, что пользовательский интерфейс на самом деле важнее, чем вы думаете. ;-)
Razor Pages > MVC
Я считаю Razor Pages следующей итерацией/заменой рабочего процесса MVC. Razor Pages действительно ощущаются как лучшие стороны ASP.Net без всех ненужных, глупых и сложных абстракций.
Blazor — это почти совершенно другая концепция, разработанная для распределения сложной логики фронтенда в браузер клиента и выполнения легковесных вызовов к бэкенду. Это отлично подходит для сложного UX, но, вероятно, не стоит того для простых сайтов.
Razor Pages и, при желании, htmx были бы правильным выбором в данном случае.
Комментариев нет:
Отправить комментарий