Курс по React.js
для frontend-разработчиков

14 августа 2017 года запускается новый курс ориентированный на frontend разработку на технологии React. Преподаватель курса – Артем Самофалов, программист с богатым опытом коммерческой разработки стартапов.
Прием заявок
до 7 августа
Отбор в группу
до 11 августа
Старт школы
14 августа
React – это фреймворк для создания отзывчивых пользовательских интерфейсов.
Для кого предназначен курс
Программа рассчитана на студентов и выпускников (аспирантов и молодых специалистов) инженерных и математических специальностей, а также уже работающих программистов.
Требования к слушателям
Это продвинутый курс разработчика, поэтому для поступления в школу вы должны знать основы Javascript и иметь опыт программирования.
Стоимость участия - 5000 руб
Количество мест ограничено, отбор будет проходить в два этапа - онлайн и личные собеседования.
Формат обучения
Курс будет проходить в вечернее время, с 19:00 до 21:00, два занятия в неделю. Общая продолжительность курса 6 недель. Для обучения потребуется ноутбук.
Трудоустройство
По результатам курса отличившимся будет предложено место в команде SMENA, а так же будет оказана помощь в подготовке к трудоустройству в другие компании.
Результат обучения
После прохождения курса у вас в портфолио будет разработанное веб-приложение на React.
Программа курса
Знакомство с React.
Virtual DOM, быстрое обновление DOM страницы.
Что такое JSX, основы работы с JSX.
Компонентный подход разработки.
Три синтаксиса для компонентов: Stateless components, ES2015-классы и React.createClass.

Основы работы с React.
Жизненный цикл: React-компонента от инициализации до unmount.
Связь с DOM с помощью refs.
Потоки данных: props и state.
Оптимизируем наше приложение с shouldComponentUpdate.
Использование сторонних компонентов.

Хранение состояния с помощью Redux.
Основные принципы Redux.
Redux — функциональный подход к управлению данными.
Actions и Reducers, как чистые функции.
Redux dev tools, возможности для мониторинга приложений.
React-redux для связи компонентов с логикой.
Роутинг на фронтенде: React-router.
Зачем нужен роутинг и как он устроен, проектируем структуру приложения.
Настраиваем вложенные роуты.
Выбираем и настаиваем history для нашего приложения.
Объеденяем react-router и Redux.
Авторизация в react-router.
Навигация в приложении.
Асинхронная работа с сообщениями Redux.
Side-effects в Redux: создание и использование Middlewares.
Асинхронные actions в Redux.
Варианты реализации асинхронных actions в Redux.
Middleware в Redux.
Упрощение работы с помощью redux-actions.
Управление side эффектами, redux-saga, redux-thunk, redux middlewares.
Сравнение redux-saga, redux-thunk и redux middlewares для работы с сайд эффектами.
Что такое генераторы в js, принципы работы.
Управление сообщениями с помощью redux-saga.
Использование основных инструментов redux-saga: fork, takeLast, call, select и put.
Организация генераторов redux-saga.
Тестирование приложения.
Основные принципы методологии TDD и BDD.
Использование jest.
Зачем нужно snapshoot тестирование, и как его правильноиспользовать.
Используем enzyme для детальной проверки состояния компонент.
Использование сторонних библиотек.
lodash: упрощаем работу с коллекциями данных.
moment: удобная работа со временем.
redux-form: основная библиотека для работы с формами, нормализация и валидация данных.
Material-ui: быстрое прототипирование UI.
Дополнительные темы.
Prettier: Автоматическое редактирование кода.
Eslint: настраиваем единый code style для проекта.
Webpack: принципы работы сборщика проектов, как правильно собирать css, js, fonts и images.
Babel и полифилы: используем последние стандарты js во всех браузерах.
Преподаватель курса
Артем Самофалов
Я хочу рассказать о том, как ведется профессиональная разработка под React, осветить момент тестирования приложений, общие вопросы использования различных библиотек. Основная цель расширить кругозор и разобрать в деталях существующий стек технологий современного фронтенда.
Для нас образовательные проекты это поиск новых знакомств и возможностей роста, как для студентов так и преподавателей. SMENA SCHOOL – это не коммерческая история, мы планируем развитие по другим направлениям и готовы к сотрудничеству с новыми разработчиками, которые хотят развиваться, учить и учиться, менять и расти самому.

Константин Чернышков
Технический директор SMENA и организатор школы
Запись на обучение
Мы помогаем молодым талантам раскрыть
свой потенциал. Если вам интересны современные подходы в разработке программного обеспечения – не упустите свой шанс влиться в ряд профессиональных frontend-разработчиков.
Порекомендуйте курс друзьям!