Содержание курса
Blazor как платформа и проект Switchboard
8 уроков
1.
Что такое Blazor в .NET 11 и зачем он backend-разработчику
↗
2.
Сквозной проект Switchboard: задача, домен, архитектура
↗
3.
Создание решения: dotnet new blazor и структура Blazor Web App
↗
4.
Razor-компонент изнутри: синтаксис, @code, partial class
↗
5.
Модель рендеринга: render tree, diff и StateHasChanged
↗
6.
Режимы рендеринга: как выбрать и как объявить
↗
7.
Инструменты разработчика: hot reload, отладка, логирование
↗
8.
Практика: каркас Switchboard и список флагов на SSR
↗
Компоненты: параметры, события, композиция
8 уроков
1.
Параметры компонентов: [Parameter], EditorRequired, неизменность
↗
2.
События: EventCallback, лямбды и асинхронные обработчики
↗
3.
Двусторонняя привязка: @bind, @bind:after, @bind:get/@bind:set
↗
4.
RenderFragment и шаблонные компоненты
↗
5.
Каскадные параметры: CascadingValue и CascadingParameter
↗
6.
Жизненный цикл компонента
↗
7.
Атрибуты, splatting и ссылки на элементы
↗
8.
Практика: библиотека компонентов Switchboard
↗
Маршрутизация, навигация и раскладка
8 уроков
1.
Router, @page и параметры маршрута
↗
2.
NavigationManager и query string
↗
3.
Layouts и Sections
↗
4.
Enhanced navigation и статический SSR
↗
5.
NavLink, NavigationLock и защита от потери данных
↗
6.
Страница не найдена и ошибки маршрутизации
↗
7.
Streaming rendering
↗
8.
Практика: навигация Switchboard по проектам и окружениям
↗
Формы и валидация
8 уроков
1.
EditForm и EditContext
↗
2.
Встроенные Input-компоненты
↗
3.
DataAnnotations и валидация вложенных объектов
↗
4.
Серверные ошибки и ValidationMessageStore
↗
5.
Формы в статическом SSR
↗
6.
Свои Input-компоненты
↗
7.
Динамические коллекции и многошаговые формы
↗
8.
Практика: редактор флага и правил таргетинга
↗
Данные и состояние
8 уроков
1.
DI в Blazor: Scoped в Server и WASM
↗
2.
EF Core в Blazor: IDbContextFactory
↗
3.
Где хранить состояние
↗
4.
PersistentComponentState и [PersistentState]
↗
5.
Данные для WASM: HttpClient и Minimal API
↗
6.
Кэширование: HybridCache
↗
7.
Асинхронность и отмена в компонентах
↗
8.
Практика: сервисы данных Switchboard
↗
Interactive Server: circuit и реальное время
8 уроков
1.
Как работает circuit
↗
2.
Настройка circuit: CircuitOptions
↗
3.
Reconnect и пауза circuit
↗
4.
CircuitHandler и присутствие пользователей
↗
5.
Push-обновления интерфейса
↗
6.
Таймеры и фоновые задачи
↗
7.
Виртуализация и большие списки
↗
8.
Практика: живой список флагов и присутствие
↗
Blazor WebAssembly и режим Auto
8 уроков
1.
Устройство WebAssembly-хостинга
↗
2.
Проект Client и режим Auto
↗
3.
Prerender и WebAssembly
↗
4.
JS-интероп в WebAssembly: [JSImport] и [JSExport]
↗
5.
Производительность WebAssembly
↗
6.
Аутентификация в WASM-компонентах
↗
7.
Standalone WebAssembly и PWA
↗
8.
Практика: Playground оценки флагов в браузере
↗
JavaScript-интероп
8 уроков
1.
IJSRuntime: вызовы из .NET в JS
↗
2.
Изоляция JS: модули и collocated-скрипты
↗
3.
Вызов .NET из JS
↗
4.
ElementReference и DOM
↗
5.
Работа с JS-объектами без своего JS (.NET 10+)
↗
6.
Статические ресурсы, ImportMap и CSS isolation
↗
7.
Ошибки интеропа и их диагностика
↗
8.
Практика: интероп в Switchboard
↗
Аутентификация и авторизация
8 уроков
1.
Модель безопасности Blazor
↗
2.
ASP.NET Core Identity в Blazor Web App
↗
3.
AuthorizeView, [Authorize] и AuthorizeRouteView
↗
4.
Политики и ресурсная авторизация
↗
5.
Interactive Server и Identity
↗
6.
Внешние провайдеры и OIDC
↗
7.
Защита API и ключи SDK
↗
8.
Практика: роли и защита операций в Switchboard
↗
Производительность и оптимизация рендеринга
8 уроков
1.
Как измерять рендеринг
↗
2.
ShouldRender и параметры
↗
3.
@key и диффинг списков
↗
4.
Virtualize в глубину
↗
5.
Стриминг и отложенная загрузка
↗
6.
Дорогие события
↗
7.
Память Interactive Server
↗
8.
Практика: оптимизация списка на 10 000 флагов
↗
Тестирование Blazor
8 уроков
1.
Пирамида тестов для Blazor
↗
2.
bUnit: рендер компонента и проверка разметки
↗
3.
bUnit: события и асинхронность
↗
4.
bUnit: JS-интероп и авторизация
↗
5.
Тестирование форм и валидации
↗
6.
Интеграционные тесты через WebApplicationFactory
↗
7.
E2E с Playwright
↗
8.
Практика: тестовый проект Switchboard
↗
Архитектура, качество и эксплуатация
8 уроков
1.
Организация решения
↗
2.
Разделение логики и разметки
↗
3.
Обработка ошибок
↗
4.
Локализация
↗
5.
Конфигурация и окружения
↗
6.
Наблюдаемость
↗
7.
Публикация и деплой
↗
8.
Практика: сборка Switchboard в Docker и финальная проверка
↗