Все курсы

Курс по React

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

React

О курсе

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

Постепенно мы разберем особенности построения SPA с использованием React, будем использовать сторонние компоненты и библиотеки для создания бизнес-логики. Вы в деталях узнаете классическую для React-приложений архитектуру: Unidirectional dataflow, и научитесь строить ее с использованием современной и наиболее популярной реализацией – Redux.js.

Курс состоит из 4-х блоков:

  1. Знакомство с React, и его экосистемой.
  2. Построение приложений с React: Redux.js.
  3. React для SPA: react-router и продвинутые API Реакта.
  4. Куда развиваться дальше.

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

Как организовано обучение?

Курс идёт около 1 месяца.

До начала обучения: вводные материалы

Перед курсом мы попросим вас посмотреть видео-лекции по основам React. Они довольно простые, чтобы на первом занятии вы уже что-то знали.

Мы также будем использовать систему Git/GitHub для обмена исходным кодом, так делает большинство проектов. Для тех, кому это в новинку - дадим крэш-курс и поможем разобраться.

Онлайн-занятия с преподавателем 2 раза в неделю

Занятие проходит в формате вебинара. Запись занятия доступна через 15 минут после окончания. Вы также сохраняете доступ к записям после окончания курса.

Домашние задания, обратная связь по ним

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

Чат

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

Курсовой проект

На этом курсе мы делаем курсовой проект: сервис заказа еды из разных ресторанов. Большую часть кода для проекта вы напишете сами.

Результат

Вы знаете, понимаете и умеете использовать основные идеи React.

Компонентный подход и архитектура одностороннего потока данных(Redux) – ваше второе "Я".

Вы умеете строить как многоразовые компоненты так и SPA с помощью React.

Вы знаете в каком направлении развиваться и на какие элементы инфраструктуры React стоит обратить внимание.

Программа курса

Блок 1

Знакомство с React и его экосистемой.

В этом блоке мы начнем с того, на чем остановились в скринкасте по Реакт. Научимся писать простые компоненты и узнаем, в чем принципиальное отличие React.js от других популярных фреймворков. Создадим первые компоненты, используя декларативный подход, познакомимся с экосистемой, научимся использовать сторонние компоненты и работать с формами.

  • Разбираем как работает create-react-app.
  • Глубже знакомимся с Реактом, Virtual DOM, JSX.
  • Разбираем React Hooks, их отличия от стейта и lifecycle методов.
  • Разберем примеры тестирования компонент с помощью Jest и Enzyme.
  • Подключаем стили с css modules.
  • Учимся переиспользовать код с помощью наследования, декораторов и кастомных хуков.
  • Связь с DOM: keys & refs.
  • Подключаем сторонние компоненты.

Блок 2

Построение приложений с React: Redux.js

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

  • Особенности Redux.js: функциональный подход, Redux dev tools.
  • Store как иммутабельный объект: Redux + Immutable.js.
  • Настраиваем синхронный поток с Redux, переиспользуем созданные ранее компоненты.
  • React-redux для связи компонентов с логикой.
  • Мемоизированные селекторы reselect.
  • Side-effects в Redux: создание и использование Middlewares.
  • Получение данных от сервера.
  • Асинхронные экшены с redux-thunk

Блок 3

React для SPA: react-router и продвинутые API Реакта

Разработка single-page applications – одно из основных направлений фронтэнда. Мы разберем, как строить их, используя React. Научимся использовать react-router и продвинутые элементы API React.JS.

  • Зачем нужен роутинг и как он устроен, проектируем структуру приложения.
  • Разбираем react-router v5.
  • Настраиваем вложенные роуты.
  • Выбираем и настаиваем history для нашего приложения.
  • Объединяем react-router и Redux.
  • Учимся обрабатывать серверные ошибки и декларативно управлять роутером.
  • Используем context – еще один механизм передачи данных.
  • Обзор Advanced API react-router.
  • Используем props.children для композиции компонентов.
  • Анимации в React, CSSTransitionGroup.

Блок 4

Куда развиваться дальше

На этот момент вы уже знаете все, что необходимо, для разработки React приложений. Но на этом рано останавливаться, вокруг Реакта выросла огромная экосистема. Мы обзорно пройдемся по основным возможностям для развития, разным платформам, библиотекам и вспомогательным инструментам. + Будет возможность разобрать интересующие именно вас вопросы.

  • Работа с формами: redux-form, final-form, formik.
  • Что ждать от React 17.
  • React Native и React VR.
  • GraphQL + Relay/Apollo.
  • MobX vs Redux.
  • Разные подходы к сайд-эффектам: redux-thunk, redux-loop, redux-saga, redux-observable.

Курсовой проект

Сервис выбора ресторана и заказа еды.

Предварительные требования

  • Знание JavaScript, включая ООП, классы.
  • Интернет 256kb/s или быстрее для видео.

Преподаватель

Photo
Андрей КорецкийВедет курс с 3 апреля 2020

Программирование люблю с детства. Свой первый сайт создал в далеком 2002 году. С 2007 плотно работал с базами данных. С 2014 профессионально занялся web-разработкой.

C React работаю начиная с версии v0.13 – с 2015 года. Занимаюсь различного рода менторством с 2017 года. Часто провожу небольшие доклады внутри компаний на тему React-Redux стека. Участвую в open-source проектах.

С 2018 года работаю в R&D центре компании Wix. 90% проектов, с которым здесь работаю – построены на базе React-Redux стека. Часть из них на TypeScript. Провожу лекции по Redux для новичков Wix. Участвую как в небольших проектах (с 2-3 разработчиками), так и в проектах на 50-70 разработчиков и знаю что такое «масштабирование» не понаслышке.

Что говорят о курсе участники

Мы занимаемся обучением с 2007 года. За это время у нас обучились тысячи разработчиков из разных стран и компаний.

Все отзывы являются честными. Мы не модерируем их.

Курс регулярно обновляется. Все отзывы относятся к последней версии курса.

Гарантия

  • Если объяснения будут вам непонятны
  • Если курсы не дадут вам новых знаний и умений
  • Если вы не сможете подключиться к системе онлайн-обучения

…то вы сможете получить деньги назад.

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

Для компаний

У нас большой опыт работы с самыми разными компаниями: как маленькими, так и IT-гигантами (Яндекс, Мейл.ру и другие).

  • При записи нужно выбрать способ оплаты "счёт на компанию", и документы будут автоматически сгенерированы: договор, акт и счёт.
  • Для зарубежных компаний выдаём инвойс на английском языке.
  • Физическим лицам даём справку об оплате, если нужна компании для компенсации расходов.
  • Сведения о нас (для бухгалтерии): скачать архив с документами.

Подписаться на уведомления по курсу

Набор на этот курс открывается каждые 3 недели. Вы можете запросить уведомление:

Мы рассылаем уведомления только когда вы их запрашиваете, вы можете отказаться в любой момент. Подписываясь на рассылку, вы соглашаетесь с политикой конфиденциальности.

Комментарии

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