Все курсы

Интенсив по "продвинутой" разработке на Angular

Интенсив по продвинутой разработке на 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 и Web Workers

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

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

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

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

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

Занятие проходит в формате 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: уверенное знание основ

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

Комментарии

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