Чему вы научитесь
- Выбирать режим рендеринга для каждой страницы и объявлять его так, чтобы 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 Web App на .NET 11 и C# 15 для разработчиков уровня middle, которые пришли из backend, системных или скриптовых языков. На сквозном проекте Switchboard — консоли управления feature-флагами — разбираются все три режима рендеринга, компоненты, формы, данные, circuit'ы, WebAssembly, JS-интероп, безопасность, производительность, тесты и эксплуатация.
Для кого этот курс
Разработчики уровня 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 желателен, но не обязателен: нужные части объясняются по ходу
Преподаватели курса
Формат курса
Текстовые уроки с исходным кодом проекта, 12 глав по 8 уроков. В каждом уроке — практическое задание для работы над Switchboard и вопросы для самопроверки; главы 3–10 завершаются тестовыми задачами с одним правильным ответом и объяснением. Дедлайнов нет, проходить можно в своём темпе; проект запускается локально командой dotnet run.
Что вы получите
- Полные исходники сквозного проекта Switchboard на .NET 11 с тестами, Dockerfile и docker compose
- Разбор каждого механизма Blazor на коде реального приложения, а не на счётчике кликов
- Практические задания к каждому уроку и вопросы для самопроверки
- Тестовые задачи с объяснениями в главах с третьей по десятую
Нагрузка
4–6 часов в неделю