Чему вы научитесь
- Выбирать режим рендеринга для каждой страницы и объявлять его так, чтобы 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 без установки.
Для кого этот курс
Начальные требования
- Уверенное владение 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 тестов
Наши преподаватели
Сертификат
Что вы получаете
- Полные исходники сквозного проекта Switchboard на .NET 11 с тестами, Dockerfile и docker compose
- Разбор каждого механизма Blazor на коде реального приложения, а не на счётчике кликов
- Практические задания к каждому уроку и вопросы для самопроверки
- Тестовые задачи с объяснениями в главах с третьей по десятую