Все курсы

Мастер-класс по Angular

Этот мастер-класс даст возможность Angular-разработчикам в сжатые сроки овладеть продвинутыми темами.

Программа

Мастер-класс позволит вам лучше понять, как работает Angular, быстрее разрабатывать и качественннее оптимизировать существующие приложения.

Раньше это был курс, но мы поменяли формат на мастер-класс, чтобы разбирать материал не по кусочкам за месяц, а в течение одного насыщенного дня.

Все идеи и пожелания по программе, пожалуйста, пишите в issues.

Основные темы программы

  1. Сложные страницы: продвинутая генерация контента

    • ContentChild и ViewChild
    • ngTemplateOutlet
    • Наследование компонентов
    • Структурные директивы
    • Динамические компоненты, ngComponentOutlet
    • Impure pipes
    • Angular Elements
  2. Продвинутое Dependency Injection

    • Рецепты создания провайдеров
    • Использование InjectionToken
    • Паттерны под капотом
    • viewProviders
    • ReflectiveInjector и StaticInjector
  3. Механизм синхронизации в деталях

    • Change Detection
      • ExpressionChangedAfterItHasBeenCheckedError
    • Понимание Zonejs
      • runOutsideAngular
      • выключаем ngZone
    • Стратегия onPush
    • Работа с Observable и markForCheck
    • detach/reattach
  4. Реактивный подход

    • Понимание реактивного подхода
    • Новое в RxJs6 и миграция
    • Беглый обзор операторов
    • Различные виды Subject
    • unsubscribe и вопросы утечки памяти
    • Работаем с Расписаниями(Schedulers)
    • Юнит тесты для реактивных сущностей
  5. Продвинутый роутинг

    • Анимации при смене состояния
    • Ленивая загрузка и стратегии предзагрузки модулей
    • Динамическое изменения конфигурации состояний
  6. Schematics

    • Принципы работы Angular Schematics
    • Создаем Schematics для своей библиотеки
  7. Service Workers

    • Паттерны применения, достоинства
    • Запуск сервис воркеров
    • Настройка режима offline
    • Проверка обновлений
    • push-уведомления
  8. Renderer

    • Использование Ivy, нового рендерера Angular
      • Сравнение Ivy и Angular Renderer2
    • SSR на основе angular-cli и express
      • Кешируем http запросы с помощью TransferState
  9. Сборка и оптимизация

    • Оптимизация размера бандлов
    • Создание Angular библиотек
    • Модульная организация приложения
    • Больше одного приложения одновременно
  10. Авторизация и безопасность

    • canActivate Guard
    • Интерсепторы авторизации
    • Защита из коробки от XSS и XSRF
    • Использование Auth0

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

Занятие проходит в формате 8-часового вебинара (с часовым перерывом на обед). Преподаватель последовательно разбирает темы программы. В любой момент можно задавать вопросы, если что-то не понятно. Мастер-класс расчитан на ограниченное количество участников, чтобы мы смогли гарантировать, что успеем ответить на все вопросы.

Результат обучения

  1. Вы хорошо понимаете тонкости реактивного подхода Angular.
  2. Вы знаете, как создавать большие многомодульные проекты.
  3. Вы разбираетесь в возможностях фреймворка в плане организации безопасноти.
  4. Вы умеете использовать сторонние библиотеки и создавать свои.
  5. Вам не кажется сложным переход к Redux стейт машине.
  6. Вы пишете автоматизированные юнит и функциональные тесты.

Преподаватель

Photo
Степан Суворов

JavaScript разработчик и консультант, спикер, активный участник фронтенд сообщества. Занимаюсь программированием более 12 лет(из них 8 лет страстно увлечен JavaScript, 5 лет исследований и экспериментов с Angular).

CTO @ StudyTube, https://studytube.nl.

Дополнительная информация

  • Для максимально эффективного прохождения МК необходимо иметь следующие знания:

    • JavaScript: уверенное знание основ
    • EcmaScript2015: классы, стрелочные функции
    • TypeScript: типы, интерфейсы, модификаторы доступа, декораторы
    • Angular: уверенное знание основ

  • Windows или Mac поддерживаются полностью.

    Под Linux доступно участие онлайн и просмотр вебинара, но для просмотра записи вебинара нужен Dual Boot в Win/MacOS.

    Для онлайн-общения желателен интернет от 256kb/s.

Комментарии

перед тем как писать…
  • Приветствуются комментарии, содержащие дополнения и вопросы по статье, и ответы на них.
  • Для одной строки кода используйте тег <code>, для нескольких строк кода — тег <pre>, если больше 10 строк — ссылку на песочницу (plnkr, JSBin, codepen…)
  • Если что-то непонятно в статье — пишите, что именно и с какого места.