Курс подойдет разработчикам, которые:
- хотят стать JavaScript FullStack разработчиками
- хотят больше веселья и хардкора с технологиями, больше сложных и комплексных задач в работе.
- имеют опыт работы с одной технологией или языком программирования и хотят получить практические навыки других технологий или переквалифицироваться
- хотят улучшить свои технические скиллы и перейти на следующий профессиональный уровень
В рамках курса мы рассмотрим:
Ключевые особенности JavaScript — замыкания, особенности ООП и SOLID в JS, функционального и реактивного программирования, Promises и другие возможности ES6, Event Loop, а также разберём DOM API, Ajax и события в рамках разработки в браузере, и, конечно, прокачаем навыки в HTML и CSS. Научимся писать код на диалектах JavaScript, таких как TypeScript и JSX.
Помимо разработки клиентской части в браузере, мы также будем использовать серверную платформу NodeJS и её окружение. Изучим популярный фреймворк Angular с реактивными возможностями RxJS, а также библиотеки для написания web-приложений — ReactJS, Redux и современные подходы к разработке UI, такие как Polymer и набирающий звёзды Vue.
Мы будем собирать проекты для production с помощью Webpack, хранить данные в MongoDB, использовать TDD подход и писать тесты на различных фреймворках и уровнях.
По окончании курса студент будет:
- Понимать принципы работы современных JavaScript фреймворков и библиотек
- Уметь применять паттерны проектирования (Event Loop, Flux, Immutable, Virtual DOM, Dependency Injection, Observables)
- Знать подходы при проектировании, организации, контроля состояния и тестирования серверных и клиентских приложений
- Выбирать подходящие инструменты для проекта
- Тестировать проект unit-тестами на разных уровнях
- Создавать веб-приложения с использованием современных технологий
Программа курса
Javascript
- Тема 1: Введение в курс Modern JavaScript Frameworks
- Тема 2: Возможности современного JavaScript
- Тема 3: JavaScript — Работа с браузером
- Тема 4: Web Components
- Тема 5: Lit-HTML и Polymer
- Тема 6: Введение в Node — Пакетный менеджер NPM и возможности package.json
- Тема 7: Test Driven Development с JavaScript
React
- Тема 1: Основы React и JSX
- Тема 2: Компоненты React — Lifecycle React-компонент — state и props
- Тема 3: Higher-Order Components
- Тема 5: Routing в React — Оптимизация приложения
- Тема 6: Подготовка React Приложения к Production, Best Practices
Node
- Тема 1: Основные концепции Node — Modules
- Тема 2: Стандартная библиотека Node — EventLoop — Timers
- Тема 3: Node Best Practices — Streams — Errors — Processes
- Тема 4: Web-сервер на JavaScript — Стек MEAN — Express — MongoDB
- Тема 5: Построение Rest API
- Тема 6: GraphQL Server
- Тема 7: WebAssembly
Vue
- Тема 1: Основы Vue
- Тема 2: Компоненты, шаблонизатор и формы
- Тема 3: Routing и модели данных
- Тема 4: Advanced Vue — Vuex
- Тема 5: Специфика построений приложений c Vue, Best Practices
Angular
- Тема 1: Введение в Angular
- Тема 2: TypeScript
- Тема 3: Компоненты и директивы
- Тема 4: Сервисы
- Тема 5: Observables — RxJS
- Тема 6: Состояние приложения
- Тема 7: Создание и управление формами в Angular
- Тема 8: Routing
- Тема 9: Тестирование в Angular. Сборка приложения для Production









