Курс по Angular
Этот онлайн-курс посвящён профессиональной разработке веб-приложений с помощью Angular.
Запись на курс
Программа
Курс даст возможность быстро начать создавать свои приложения с использованием современного фреймворка - Angular. В процессе прохождения курса шаг за шагом вы сделаете реальное приложение, и хорошо разберетесь в специфике Angular и библиотек которые его окружают.
Вы будете получать информацию, писать код, показывать его преподавателю, получать обратную связь и советы, и затем – двигаться дальше.
Мы внимательно следим за развитием Angular и будем использовать самые новые подходы и версии как фреймворка так и библиотек.
Курс можно условно разделить на три части.
- Компоненты и компонентный подход.
- Формы и навигация.
- Подключение сторонних библиотек и отладка.
Детали программы смотрите далее.
Основные темы программы
- Первая часть курса
- Вторая часть курса
- Третья часть курса
Первая часть курса
Строгий JavaScript используя Typescript
- Установка и принципы работы
- Разбираем систему типов
- Особенности работы с функциями и классами
- Декораторы и их применение
Реактивное программирование с RxJS
- Концепции и паттерны RxJS
- Типы потоков, разница между Observable и Subject
- Разбираем базовые операторы
- Subjects: применение и типы
- Работа с расписанием (Schedulers)
Быстрый старт с Angular
- Знакомство с angular-cli
- Разработка простого компонента
- Специфика синтаксиса шаблонов Angular
Компоненты, Директивы, Пайпы
- Применение директив из коробки (ngIf, ngClass, ngFor..)
- Вложенные компоненты
- Передача данных в компонент
- Жизненный цикл компонента
- Вывод контента с помощью ng-content (content projection)
- Создание своей аттрибут директивы
- Pipe и фильтрация данных. Impure pipes
- Структурные директивы. ViewRef/TemplateRef
Сервисы и внедрение зависимостей (Dependency injection)
- Примеры сервис-провайдеров из коробки
- Способы создания провайдеров
- InjectionToken
- Мультипровайдеры
- Отличие Providers и ViewProviders
- HTTPClient
По окончанию первой части курса вы понимаете, как разработать простое приложение на Angular.
Формы и навигация
Работа с формами
- Модель формы и FormControl
- Простые(template-driven) и реактивные формы
- Валидация данных
- Асинхронный валидаторы
- Свой кастомный элемент ввода. Работа с ValueAccesor
Навигация и маршрутизация
- Определение состояний
- Вложенные состояния
- Сервис для доступа к параметра состояния
- Стражи(guards) роутера
- Авторизация и контроль доступа к состояниям
- Множественное представление (для сложных состояний)
- Ленивая загрузка(lazy loading) и предзагрузка модулей
Redux архитектура
- Основные концепции Redux
- Платформа NgRX и ее модули
- Обработка асинхронных событий. Эффекты
- Агрегация даных. Cелекторы
- Отладка приложения
Третья часть
Другие модули
- Анимация Angular
- Интернационализация и локализация
- AngularFire, AngularMaterial, ng-bootstrap
Тесты
- Unit-тесты для сервисов
- Специфика тестирования при использовании HttpClient
- Unit-тесты для компонентов
- Unit-тесты для директив
- e2e интеграционные тесты
Отладка и оптимизация приложения
- Разбор сущностей Angular в консоли
- ZoneJS/ NgZone для удобного управления асинхронностью
- Механизм обновления состояния (change detection). Статегия OnPush
- Обзор вспомогательных инструментов (Augury)
- Погружение в исходный код фреймворка
- Schematics
Как проходит обучение?
Курс включает в себя 12 насыщенных занятий. Первая встреча традиционно является собранием и не входит в основной блок.
На каждом занятии мы изучаем что-то новое. Каждый смысловой модуль будет заканчиваться домашним заданием.
На протяжении всего курса вы можете работать над проектом, который является веб-приложением включающим в себя все разбираемые темы.
На следующем занятии мы смотрим, что и как получилось его решить и как сделать лучше. Чтобы получить от курса максимум результата, нужно не только слушать, но и делать что-то дома, а затем – показывать преподавателю. Только так, постепенно, с обратной связью от преподавателя, создавая проект на Angular, вы действительно разберётесь, что и как.
Результат обучения
- Вы знаете, как быстро сделать прототип проекта, а после чего превратить его в большое структурное веб приложение, стабильно работающее и не имеющее проблем с производительностью.
- Вы хорошо понимаете тонкости компонентного подхода Angular.
- Вы знаете как использовать разные архитектурные подходы для построения Angular приложений.
- Вы эффективно работаете как с фреймворком, так и со всей Angular экосистемой.
- Понимание архитектуры исходного кода, помогает вам эфективно отлаживать приложение.
Гарантия
- Если объяснения будут вам непонятны
- Если курсы не дадут вам новых знаний и умений
- Если вы не сможете подключиться к системе онлайн-обучения
…то вы сможете получить деньги назад.
Для этого достаточно не позже окончания первой недели курса написать, указав причину из этого списка и что именно вас не устраивает, и тогда ваше участие будет прекращено, а вы получите деньги обратно, удобным для вас способом.
Преподаватели

Занимаюсь современной frontend-разработкой с использованием Angular с 2013 года. С 2016 года веду обучение Javascript, Typescript и Angular. Также имею большой опыт преподавания математических дисциплин в ВУЗе.
Также работаю как Team/Tech Lead в разработке enterprise-приложений для CША, а также приложения для работы с блокчейн, например система для рекламы, основанная на цифровой валюте cresttoken.com. Предпочитаю стек MEAN.

JavaScript разработчик и консультант, спикер, активный участник фронтенд сообщества. Занимаюсь программированием более 12 лет(из них 8 лет страстно увлечен JavaScript, 5 лет исследований и экспериментов с Angular).
CTO @ StudyTube, https://studytube.nl.
Что говорят о курсе участники
Дополнительная информация
Для участия в этом курсе необходимо знание Javascript.
Windows или Mac поддерживаются полностью.
Под Linux доступно участие онлайн и просмотр видеолекций, но для просмотра записей занятий нужен Dual Boot в Win/MacOS.
Для онлайн-общения желателен интернет от 256kb/s.
Комментарии
<code>
, для нескольких строк кода — тег<pre>
, если больше 10 строк — ссылку на песочницу (plnkr, JSBin, codepen…)