Эффективная работа с Blazor в языке C#

Курс о Blazor Web App на .NET 11 и C# 15 для разработчиков уровня middle, которые пришли из backend, системных или скриптовых языков. На сквозном проекте Switchboard — консоли управления feature-флагами — разбираются все три режима рендеринга, компоненты, формы, данные, circuit'ы, WebAssembly, JS-интероп,…
Средний уровень
4–6 часов в неделю
Сертификат Stepik

Чему вы научитесь

  • Выбирать режим рендеринга для каждой страницы и объявлять его так, чтобы prerender, circuit и WebAssembly работали согласованно
  • Проектировать компоненты с параметрами, событиями, каскадными значениями и шаблонами, не смешивая логику с разметкой
  • Строить формы с EditForm, вложенной валидацией, серверными ошибками и собственными InputBase-компонентами
  • Работать с данными в Blazor: IDbContextFactory, время жизни сервисов в трёх режимах, [PersistentState], HybridCache, отмена операций
  • Управлять circuit'ом Interactive Server: настройки, переподключение, обновления между пользователями, фоновые задачи, виртуализация
  • Выносить код в WebAssembly и режим Auto, использовать [JSImport], понимать trimming и стоимость загрузки
  • Вызывать JavaScript из .NET и обратно через модули, ElementReference, DotNetObjectReference и новые методы .NET 10
  • Настраивать Identity, политики, ресурсную авторизацию и защиту API ключами в Blazor Web App
  • Измерять рендеринг и устранять лишние рендеры, утечки памяти и дорогие события
  • Тестировать компоненты в bUnit, приложение через WebApplicationFactory и сценарии через Playwright
  • Публиковать Blazor-приложение в Docker за reverse proxy с health checks, логами и метриками

О курсе

Blazor даёт возможность писать интерфейс на C# и переиспользовать серверный код в браузере, но у него три режима рендеринга с разными правилами, и большинство проблем в первых проектах — не про C#, а про то, где именно выполняется компонент. Кнопка не реагирует на клик, cookie не ставится из формы, состояние теряется после переподключения, DbContext падает на втором обработчике — всё это следствия выбора режима, времени жизни сервисов и границ между сервером и браузером. Курс построен так, чтобы эти механизмы стали понятны раньше, чем они проявятся в проде.

Сквозной проект

С первой главы и до последней мы собираем Switchboard — консоль feature-флагов: проекты и окружения, флаги с процентной раскаткой и правилами таргетинга, журнал изменений, ключи SDK и публичный API оценки флагов, обновления в реальном времени между пользователями и Playground, который оценивает флаги прямо в браузере. Это не учебная заготовка, а приложение, которое можно развернуть у себя: EF Core с миграциями, Identity с ролями, HybridCache, OpenTelemetry, health checks, Docker и reverse proxy. Полные исходники проекта прилагаются к курсу, и каждая глава ссылается на конкретные файлы.

Что внутри

Двенадцать глав по восемь уроков: платформа и режимы рендеринга; компоненты, параметры и события; маршрутизация, layouts и enhanced navigation; формы и валидация, включая вложенные модели и SSR-формы; DI, EF Core и состояние; Interactive Server — circuit, переподключение, push-обновления, виртуализация; WebAssembly и режим Auto с [JSImport]; JS-интероп во всех вариантах; аутентификация и авторизация с Identity, политиками и ключами API; измерение и оптимизация рендеринга; тестирование bUnit, WebApplicationFactory и Playwright; архитектура, локализация, наблюдаемость и деплой.

Каждый урок — техническая глава с кодом из проекта, практическим заданием и вопросами для самопроверки. Главы с третьей по десятую завершаются тестовыми задачами с объяснением после неверного ответа. Материал следует актуальной документации ASP.NET Core и показывает те решения, которые рекомендует сама платформа: [PersistentState], NavigationManager.NotFound(), [ValidatableType], HybridCache, пауза circuit'а, GetValueAsync/InvokeConstructorAsync, xunit.v3 с Microsoft.Testing.Platform.

Чего в курсе нет

Курс не учит программированию, C# или HTML/CSS с нуля и не рассказывает «как писать фронтенд вообще» — только механизмы Blazor. Нет MAUI Blazor Hybrid, сторонних библиотек компонентов и обзора JavaScript-фреймворков.

Как проходит обучение

Текстовые уроки с исходным кодом, задания для самостоятельной работы над проектом и тестовые задачи в конце глав. Нужен .NET 11 SDK и любая IDE с поддержкой C#; проект запускается локально одной командой, база — SQLite без установки.

Для кого этот курс

Разработчики уровня middle из backend (ASP.NET Core, Java, Go, Python), системных и скриптовых языков, которым нужно строить веб-интерфейсы на C# без переключения на JavaScript-стек. Подойдёт тем, кто уже писал на Blazor, но не понимает, почему приложение ведёт себя по-разному в разных режимах. Не подойдёт новичкам в программировании и тем, кто ищет обзор фронтенда в целом.

Начальные требования

  • Уверенное владение C# и .NET: классы, generics, async/await, LINQ, DI
  • Базовое понимание HTTP, HTML и CSS — на уровне чтения разметки
  • Установленный .NET 11 SDK, IDE с поддержкой C# (Visual Studio, Rider или VS Code с C# Dev Kit), Docker для последней главы
  • Опыт с ASP.NET Core или EF Core желателен, но не обязателен: нужные части объясняются по ходу

Программа курса

В курс входят

  • 96 уроков
  • 55 тестов
загружаем...

Наши преподаватели

Certificate

Сертификат

Сертификат Stepik

Что вы получаете

  • Полные исходники сквозного проекта Switchboard на .NET 11 с тестами, Dockerfile и docker compose
  • Разбор каждого механизма Blazor на коде реального приложения, а не на счётчике кликов
  • Практические задания к каждому уроку и вопросы для самопроверки
  • Тестовые задачи с объяснениями в главах с третьей по десятую

Сколько стоит обучение

999 ₽
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям