Курс по Angular

Этот онлайн-курс посвящён профессиональной разработке веб-приложений с помощью Angular 4.x

Программа

Курс даст возможность быстро начать создавать свои приложения с использованием современного фреймворка - Angular. В процессе прохождения курса шаг за шагом вы сделаете реальное приложение, и хорошо разберетесь в специфике Angular.

Вы будете получать информацию, писать код, показывать его, получать обратную связь и советы, и затем – двигаться дальше.

Мы внимательно следим за развитием Angular и будем использовать самые новые подходы.

Курс можно условно разделить на три части.

  1. Компоненты и компонентный подход.
  2. Инжектируемые сущности и реактивное програмирование.
  3. Архитектура приложений, организация проекта и взгляд во внутрь фреймворка.

Детали программы смотрите далее.

Набор в группы

В текущих группах мест нет.

Вы можете запросить уведомления о наборе новых групп по этой программе, следующий набор планируется в течение нескольких недель.

На ваш email придёт письмо с информацией о дате и деталях программы.

Стоимость обучения – порядка 150-250$. Время обучения: примерно полтора месяца, точные даты будут при открытии записи.

Этот курс ведут: Игорь НепипенкоСтепан Суворов.

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

  • Первая часть курса
  • Вторая часть курса
  • Третья часть курса

Первая часть курса

  1. Быстрый старт с Angular
    • Пример базового приложения на Angular
    • Знакомство с angular-cli
    • Разработка простого компонента
    • Специфика синтаксиса шаблонов Angular
  2. Компоненты и Директивы (Directives)
    • Компонентноориентированный подход создания приложения
    • Применение директив из коробки (ngIf, ngClass, ngFor..)
    • Вложенные компоненты
    • Жизненный цикл компонента
    • Создание своей директивы
  3. Взаимодействие компонентов и фильтрация данных
    • Передача данных в компонент
    • Связывание данных через событие (Event binding)
    • Способы межкомпонентной коммуникации
    • Pipe из коробки
    • Создание собственных фильтров
  4. Сервисы и внедрение зависимостей (Dependency injection)
    • Реализация паттерна внедрения зависимостей
    • Примеры сервис-провайдеров из коробки
    • Способы создания провайдеров
    • OpaqueToken и InjectionToken
    • Мультипровайдеры

По окончанию первой части курса вы понимаете, как разработать простое приложение на Angular.

Реактивная часть курса

  1. Реактивное программирование (RxJS)
    • Учимся мыслить потоками
    • Observer и Iterator паттерны
    • Понимание Subject
    • Управление последовательностями
  2. Работа с HTTP
    • API HTTP провайдера
    • Обработка ошибок и отмена запросов
  3. Работа с формами
    • Модель формы и FormControl
    • Простые(template-driven) и реактивные формы
    • Валидация данных
    • Асинхронный валидаторы
    • Пишем свой элемент управления формой
  4. Навигация и маршрутизация
    • Определение состояний
    • Вложенные состояния
    • Сервис для доступа к параметра состояния
    • Хуки роутера
    • Авторизация и контроль доступа к состояниям
    • Множественное предтавление
    • Ленивая загрузка(lazy loading) и предзагрузка модулей

Архитектурная часть

  1. Проверка курсовых проектов
  2. Продвинутые компоненты
    • Структурные директивы
    • Вывод контента с помощью ng-content (content projection)
    • Динамические компоненты
  3. Сборка и оптимизация приложения
    • Использование webpack
    • Механизм обновления состояния (change detection)
    • AOT компиляция
    • Серверный пререндеринг (SSR)
  4. Автоматизированные тесты
    • Unit-тесты и TDD (вместе с jasmine, karma и TestBed)
    • Специфика тестирования компонентов и внедряемых сущностей
    • Проверяем покрытие кода тестами.
    • Функциональные(e2e) тесты с использованием protractor.
  5. Использование сторонних модулей
    • Примеры использования популярных модулей: AngularFire, AngularMaterial, ng-bootstrap
    • Интеграция не Angular библиотек
    • Создание своей библиотеки
  6. Отладка приложения
    • Разбор сущностей Angular в консоли
    • Обзор вспомогательных инструментов (Augury)
    • Погружение в исходный код фреймворка

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

Курс будет проходить по схеме 6 + 2, т.е. 6 занятий, возможен недельный перерыв, затем ещё 2. Так оптимально, чтобы все участники имели время подумать над предложенными подходами и что-то написать с их использованием. Первая встреча традиционно является собранием.

На каждом занятии мы изучаем что-то новое. После встречи даётся домашнее задание.

На протяжении всего курса вы также работаете над проектом, который является веб-приложением включающим в себя все разбираемые темы.

На следующем занятии мы смотрим, что и как получилось его решить и как сделать лучше. Чтобы получить от курса максимум результата, нужно не только слушать, но и делать что-то дома, а затем – показывать преподавателю. Только так, постепенно, с обратной связью от преподавателя, создавая проект на Angular, вы действительно разберётесь, что и как.

Мы изучаем как сам Angular, так и вспомогательные библиотеки RxJs и zone.js

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

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

Системные требования

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

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

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

Что говорят о курсах люди

Комментарии

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