ReactJS/React Native-разработчик

Современная Frontend-разработка и создание мобильных приложений под iOS и Android на JavaScript.
Подойдет ли мне этот курс?

Длительность

4 месяца

Начало

26 сентября

Занятия

Чт 20:00, Пн 20:00

Общая стоимость

40 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

Хочу дешевле
Общая стоимость
40 000 ₽
В месяц: 12 500 ₽
В кредит: 40000 ₽
в месяц
Продолжительность
4 месяца, 4 академических часа в неделю
Чт 20:00, Пн 20:00
Начало занятий
26 сентября
Что даст вам этот курс

Сегодня уже необязательно иметь 3 команды разработчиков, чтобы поддерживать несколько разных проектов, например:
— веб-сайт на ReactJS и JS,
— iOS-приложение на Swift,
— Android-приложение на Java или Kotlin.

React JS вместе с React Native позволят одному специалисту создать многофункциональный сайт и на его базе разработать мобильные приложения для Android и iOS.

React Native был разработан компанией Facebook. На нём написаны мобильные приложения Facebook, Instagram, Skype, Uber Eats, Pinterest и многие другие.

Для кого этот курс

JavaScript-разработчики с навыками HTML/CSS.

Выпускной проект для портфолио

Вы разработаете веб-приложение, похожее на twitter на ReactJS и Redux. Затем перенесёте на мобильные устройства с использованием React Native и Redux.


Разработка фронтенда и мобильных приложений под Android и iOS на JavaScript

Создание фронтенда любой сложности на ReactJS, Flux, Redux

Портирование фронтенда под Android и iOS с помощью React Native

Углубленное изучение JavaScript

Знакомство с React.Native, 12 сентября в 20:00
На открытом вебинаре мы:
- познакомимся с React.Native, узнаем, в каких случаях стоит использовать React.Native, в каких не стоит;
- посмотрим, как React.Native работает на практике - разработаем небольшое мобильное приложение с формой регистрации авторизации;
- рассмотрим базовые компоненты, научимся их стелизовать;
- познакомимся с навигаторами и научимся делать роутинг между страницами.

Для участия в вебинаре необходимо иметь опыт работы с Javascript.
Ведет
Андрей
Поляков
День открытых дверей для JavaScript-разработчиков, 19 сентября в 20:00
Преподаватели-практики Андрей Поляков (курс «ReactJS/React Native-разработчик») и Александр Коржиков (курс «Fullstack разработчик JavaScript») расскажут о хардкорной программе каждого курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения.

Также преподаватели расскажут о своём профессиональном опыте и ответят на вопросы участников. Поэтому если есть вопрос, запишитесь на онлайн-трансляцию и задайте его в прямом эфире!
Преподаватели
Александр Коржиков
Dev IT Engineer ING Group (Нидерланды)
Владимир Клепов
Frontend-разработчик в Яндекс
Владимир Иванов
Development Lead (EPAM Systems)
Андрей Поляков
Ведущий мобильный разработчик в РокетБанк
Юрий Дворжецкий
Luxoft Training Center
Разработчик JavaScript в международной финансовой корпорации ING, главный офис которой находится в Амстердаме. Занимается проектированием и поддержкой процессов web-разработки.

8 лет опыта разработки в основном в области Front End. Большую часть карьеры программировал на JavaScript, начиная c 2010 года — в компании «Альпари». После этого работал в стартапе Comindware, в «Тинькофф Банк» (Москва), в голландской IT-компании Backbase.

Получил степень специалиста в университете по специальности «Прикладная математика и кибернетика».

Преподаватель
Разрабатывает интерфейсы в Яндекс.Почте. До этого создавал интерфейсы для системы управления суперкомпьютером и ситуационного центра МЧС Сахалина.

Работа в маленькой команде научила создавать дизайн, раскатывать Docker, настраивать DNS-сервера и заниматься другими вещами, которых обычно не ожидают от фронтендера.

Специализируется на интерактивных визуализациях.
Закончил факультет компьютерных наук ВШЭ.

Преподаватель
Опытный разработчик мобильных приложений (Android, React Native) с сильными навыками руководства командой. Технический руководитель, менеджер проектов, специалист по облачным сервисам и архитектор решений с сертификатом Google Certified Cloud Architect.

Руководил несколькими проектами c нуля до публикации в качестве архитектора решений, менеджера проектов, Tech Lead'а. Интересуется современными мобильными платформами (iOS, cross platform). В коммерческой разработке с 2010 года.

Окончил факультет технической кибернетики в Санкт-Петербургском политехническом университете Петра Великого. Работал в Kaspersky Lab, EPAM Systems, Reksoft, Fonum Inc., Syncplicity.

Образование: МГТУ им. Баумана, факультет информатики и управления, кафедра «Компьютерные системы, вычислительные комплексы и сети».

Опыт работы: 4 года. Ключевые навыки: CSS3, ES6, Sass, React-Native, JavaScript, React, HTML5, Redux, Bootstrap.

Работал над мобильным приложением для My AYR и Card Share на React Native. На текущий момент работает ведущим мобильным разработчиком в Рокетбанке.

Преподаватель
Тренер в Luxoft Training Center, ведущий разработчик, кандидат физико-математических наук.
Программирует с начальных классов.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript как классического, так и современного во всех его проявлениях.

Сейчас разрабатывает web-приложения c UI на React и Angular.

Преподаватель
Александр
Коржиков
Владимир
Клепов
Владимир
Иванов
Андрей
Поляков
Юрий
Дворжецкий
Преподаватели
Александр Коржиков
Dev IT Engineer ING Group (Нидерланды)
Разработчик JavaScript в международной финансовой корпорации ING, главный офис которой находится в Амстердаме. Занимается проектированием и поддержкой процессов web-разработки.

8 лет опыта разработки в основном в области Front End. Большую часть карьеры программировал на JavaScript, начиная c 2010 года — в компании «Альпари». После этого работал в стартапе Comindware, в «Тинькофф Банк» (Москва), в голландской IT-компании Backbase.

Получил степень специалиста в университете по специальности «Прикладная математика и кибернетика».

Преподаватель
Владимир Клепов
Frontend-разработчик в Яндекс
Разрабатывает интерфейсы в Яндекс.Почте. До этого создавал интерфейсы для системы управления суперкомпьютером и ситуационного центра МЧС Сахалина.

Работа в маленькой команде научила создавать дизайн, раскатывать Docker, настраивать DNS-сервера и заниматься другими вещами, которых обычно не ожидают от фронтендера.

Специализируется на интерактивных визуализациях.
Закончил факультет компьютерных наук ВШЭ.

Преподаватель
Владимир Иванов
Development Lead (EPAM Systems)
Опытный разработчик мобильных приложений (Android, React Native) с сильными навыками руководства командой. Технический руководитель, менеджер проектов, специалист по облачным сервисам и архитектор решений с сертификатом Google Certified Cloud Architect.

Руководил несколькими проектами c нуля до публикации в качестве архитектора решений, менеджера проектов, Tech Lead'а. Интересуется современными мобильными платформами (iOS, cross platform). В коммерческой разработке с 2010 года.

Окончил факультет технической кибернетики в Санкт-Петербургском политехническом университете Петра Великого. Работал в Kaspersky Lab, EPAM Systems, Reksoft, Fonum Inc., Syncplicity.

Андрей Поляков
Ведущий мобильный разработчик в РокетБанк
Образование: МГТУ им. Баумана, факультет информатики и управления, кафедра «Компьютерные системы, вычислительные комплексы и сети».

Опыт работы: 4 года. Ключевые навыки: CSS3, ES6, Sass, React-Native, JavaScript, React, HTML5, Redux, Bootstrap.

Работал над мобильным приложением для My AYR и Card Share на React Native. На текущий момент работает ведущим мобильным разработчиком в Рокетбанке.

Преподаватель
Юрий Дворжецкий
Luxoft Training Center
Тренер в Luxoft Training Center, ведущий разработчик, кандидат физико-математических наук.
Программирует с начальных классов.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в элегантность и оригинальность JavaScript как классического, так и современного во всех его проявлениях.

Сейчас разрабатывает web-приложения c UI на React и Angular.

Преподаватель
Минимальные знания
Для прохождения программы необходимы:
— знания HTML/CSS,
— опыт работы с JavaScript,
— знания основ работы браузера и браузерного API,
— базовые навыки работы с Git.
Программа обучения
Модуль 1
JavaScript
Модуль 2
React
Модуль 3
Первые шаги в React Native
Модуль 4
Запросы на сервер, React Native + Redux
Модуль 5
React.Native: навигация, хранение сессии, анимация
Модуль 6
React.Native: работа с фотографиями и публикация
Модуль 7
Проектная работа
JavaScript
Мы рассмотрим основные возможности современного и традиционного JavaScript, стандарт EcmaScript 6+, Templates, асинхронные паттерны Promise, Async Await, переменные, замыкания, функции, наследование и классы. Разберем особенности браузерного API и спецификаций Web Components на примере библиотеки Lit-HTML. Обсудим главные принципы и возможности Node.js, а также NPM для управления зависимостями и автоматизации задач. Мы научимся использовать Test-Driven Development при решении практических задач.
Тема 1: Введение в курс Modern JavaScript Frameworks
участники смогут:
— познакомиться с преподавателем и программой курса, понять, как она построена, и какие полезные навыки они получат;
— вспомнить основные возможности языка JavaScript;
— применять техники языка, которые помогут при изучении фреймворков.
26 сентября, 20:00 — 21:30
Домашние задания: 1
1 Написать функцию суммирования значений
Написать функцию sum, которая может быть исполнена любое количество раз с не `undefined` аргументом.
Если она исполнена без аргументов, то возвращает значение суммы всех переданных до этого значений.

sum(1)(2)(3)....(n)() === 1 + 2 + 3 + ... + n
Тема 2: Возможности современного JavaScript
участники смогут:
— решать специфичные для браузерной разработки задачи на языке JavaScript;
— освоить и вспомнить теорию, которая будет базисом для последующих уроков;
— попрактиковаться с технологиями AJAX, WebSocket, Promise.
30 сентября, 20:00 — 21:30
Домашние задания: 1
1 promiseReduce — работа с асинхронными функциями
Цель: Написать функцию: promiseReduce(asyncFunctions, reduce, initialValue) asyncFunctions — массив асинхронных функций, возвращающих промис. reduce(memo, value) — функция, которая будет вызвана для каждого успешно завершившегося промиса. initialValue — стартовое значение для функции reduce. promiseReduce последовательно вызывает переданные асинхронные функции и выполняет reduce-функцию сразу при получении результата до вызова следующей асинхронной функции. Функция promiseReduce должна возвращать промис с конечным результатом.
Тема 3: JavaScript — работа с браузером
участники смогут:
— решать специфичные для браузерной разработки задачи на языке JavaScript;
— работать с Chrome Dev Tools.
3 октября, 20:00 — 21:30
Домашние задания: 1
1 getPath — поиск уникального селектора
Написать алгоритм и функцию `getPath()`, находяющую уникальный css-селектор для элемента в документе.
Уникальный селектор может быть использован `document.querySelector()` и возвращать исходный элемент.
`document.querySelectorAll()`, вызванный с этим селектором, не должен находить никаких элементов, кроме исходного.

```javascript
$0 // HTMLElement
getPath($0) // => "..."
```
Тема 4: Web Components
участники смогут:
— ориентироваться в веб-спецификациях Custom Elements и Shadow DOM;
— создавать custom elements, используя встроенные браузерные возможности.
7 октября, 20:00 — 21:30
Тема 5: Lit-HTML и Polymer
участники смогут:
— понимать принципы Polymer;
— разбираться в стандарте HTML Template;
— использовать особенности Lit-HTML для создания приложений.
10 октября, 20:00 — 21:30
Тема 6: Введение в Node — пакетный менеджер NPM и возможности package.json
участники смогут:
— запускать приложения на платформе Node;
— писать и запускать тесты для серверного JavaScript;
— работать с пакетным менеджером NPM;
— управлять зависимостями и автоматизировать задачи с помощью package.json.
14 октября, 20:00 — 21:30
Домашние задания: 1
1 Реализовать скрипт request для тестирования веб-сервера
Создать локальный веб сервер `server`, отвечающий на запросы каждые 100ms.

Создать скрипт `request`, принимающий на вход:
— количество запросов `N`;
— тип запросов — параллельный или последовательный

Скрипт `request` должен отправлять `N` последовательных или параллельных `HTTP`-запросов к локальному серверу `server.`
Тема 7: Test Driven Development с JavaScript
темы занятия:
— обзор фреймворков и библиотек для тестирования;
— техники тестирования;
— Behavior Driven Development;
— разбор примеров.
17 октября, 20:00 — 21:30
React
Мы подробно изучим стэк технологий React. Рассмотрим особенности синтаксической шаблонизации JSX, особенности передачи данных и хранения состояния с помощью state и props. Разберем свойства компонентного подхода для декомпозиции React-приложений, жизненный цикл и типы компонент, например, High-Order Components. Изучим шаблон проектирования Flux и его реализацию на примере библиотеки Redux. Будем настраивать и оптимизировать приложения с Server-Side Rendering.
Тема 1: Основы React и JSX
участники смогут:
— настроить себе окружение для работы с React и использовать его;
— понимать и применять синтаксис JSX;
— создавать простые приложения на React.
21 октября, 20:00 — 21:30
Тема 2: Компоненты React — Lifecycle React-компонент — state и props
участники смогут:
— разрабатывать полноценные React-компоненты в различных стилях;
— корректно использовать state и props.
24 октября, 20:00 — 21:30
Домашние задания: 1
1 Создать структуру приложения погоды
Приложение для самостоятельной работы в блоке React — веб-приложение погоды.
На странице приложения должна быть возможность добавлять города в список избранных.
По каждому городу показывается информация о температуре, ветре, другие параметры.

---

Создать структуру приложения, создать компоненты контейнеры.
Тема 3: Higher-Order Components
28 октября, 20:00 — 21:30
Тема 4: Состояние приложения — Flux и Redux
участники смогут:
— отличать основные понятия однонаправленной архитектуры Flux;
— ориентироваться и использовать возможности redux — создавать actions, reducers, а также применять redux в связке в React.
31 октября, 20:00 — 21:30
Тема 5: Routing в React — оптимизация приложения
участники смогут:
— создавать систему routing для React-приложений, использовать библиотеку react-router;
— использовать специальные возможности библиотеки для оптимизации отрисовки.
4 ноября, 20:00 — 21:30
Домашние задания: 1
1 Routing для приложения погоды
Реализовать компонент фильтра и поиска городов.
Данные по городам сохранять в браузерном хранилище.
Добавить страницу погоды по конкретному городу.
При переходе на нее должен меняться url, показываться информация на несколько дней вперед.
Тема 6: Подготовка React-приложения к Production, Best Practices
участники смогут:
— эффективно разрабатывать приложения на React, учитывая последние тенденции в разработке front-end;
— использовать Advanced React;
— применять на практике Best Practices-разработки на React.

Также разберем:
— сборщики — Webpack, Parcel;
— аспекты Server-Side Rendering.
7 ноября, 20:00 — 21:30
Первые шаги в React Native
Вы научитесь создавать одностраничное приложение на чистом React Native. После трёх первых занятий студенты смогут развернуть проект и создать простое одностраничное приложение.
Тема 1: Базовые компоненты
темы занятия:
— возможности и ограничения React.Native;
— настройка окружения;
— разбор структуры проекта;
— React Class, State, жизненные циклы (краткое повторение);
— базовые компоненты React Native “из коробки” и примеры их использования.
11 ноября, 20:00 — 21:30
Тема 2: Дебаггинг и вёрстка
темы занятия:
— методы и изменение состояния компонента;
— дебаггинг в консоли Google Chrome и React Native Debugger;
— вёрстка и стили;
— шрифты и иконки.
14 ноября, 20:00 — 21:30
Тема 3: Создание одностраничного приложения
тема занятия — создание простого одностраничного приложения (создание поста Instagram).
18 ноября, 20:00 — 21:30
Домашние задания: 1
1 Создать своё приложение ToDo-app
Запросы на сервер, React Native + Redux
Вы научитесь делать запросы на сервер и использовать контейнер состояний Redux.
После четвертого и пятого занятия студенты смогут подключить к своему проекту Redux и научатся писать запросы к серверу.
Тема 1: Подключаем Redux
темы занятия:
— разбор домашнего задания;
— подключение Redux;
— дебаггинг с Redux Logger;
— экран “Новый Пост” на Redux.
21 ноября, 20:00 — 21:30
Тема 2: Запросы на сервер
темы занятия:
— подключение axios;
— асинхронные функции, redux-thunk;
— получение списка постов;
— пагинация списка постов, infinite scroll.
25 ноября, 20:00 — 21:30
Домашние задания: 1
1 Подключить Redux к ToDo-app, хранить список на сервере
React.Native: навигация, хранение сессии, анимация
Вы научитесь строить навигацию, интуитивно привычную пользователям мобильных приложений. Сохранять данные между сессиями. Понимать принципы построения анимации. Использовать React Navigation для переходов между экранами. Также изучите основы работы с анимацией.
Тема 1: Навигация и AsyncStorage
темы занятия:
— написание экрана авторизации;
— навигация React Navigation;
— запрос на авторизацию, сохранение токена в AsyncStorage;
— использование токена для запросов, заголовки запросов.
28 ноября, 20:00 — 21:30
Тема 2: Анимация
темы занятия:
— gif-изображения;
— анимация, Performance Monitor;
— вибрация и звук.
2 декабря, 20:00 — 21:30
Домашние задания: 1
1 Анимированное удаление пунктов ToDo, добавление экрана “Подробнее” с использованием stackNavigation
React.Native: работа с фотографиями и публикация
Вы научитесь получать разрешение пользователя на доступ к файлам и камере, работать с фотографиями на устройстве и делать фото из приложения.
Студенты будут уметь работать с разрешениями, получать фото из галереи и работать с камерой. Также рассмотрим Unit- и End2End-тестирование приложения.
Тема 1: Получение фото из галереи
темы занятия:
— разрешения;
— получение и отображение фото из галереи;
— выбор фото и отправка на сервер;
— отображение своих постов.
5 декабря, 20:00 — 21:30
Тема 2: Работа с камерой
темы занятия:
— отображение окна с камерой, настройки;
— захват и сохранение фото.
9 декабря, 20:00 — 21:30
Домашние задания: 1
1 Экран информации о пользователе, загрузка аватара
Тема 3: Тестирование
темы занятия:
— обсуждение домашнего задания;
— доработки;
— тестирование.
12 декабря, 20:00 — 21:30
Тема 4: Публикация
темы занятия:
— отличия release- и debug-версий;
— иконка и splash-screen;
— генерация уникальной подписи;
— сборка и подпись приложения;
— заполнение информации о приложении;
— публикация;
— полезные материалы и библиотеки.
16 декабря, 20:00 — 21:30
Домашние задания: 1
1 Покрыть приложение тестами и опубликовать
Проектная работа
После последнего занятия студенты смогут опубликовать своё приложение в маркете.
Тема 1: Защита проектов
19 декабря, 20:00 — 21:30
Тема 2: Консультация
23 декабря, 20:00 — 21:30
Тема 3: Защита проектов
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 Сдать ссылку на репозиторий курсового проекта. В репозитории обязательно должен быть заполнен файл Readme.md с описанием проекта
Дата выдачи сертификата: 23 февраля 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «ReactJS/React Native-разработчик»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «ReactJS/React Native-разработчик»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
40 000 ₽
В месяц: 12 500 ₽
В кредит: ₽ в месяц
Продолжительность
4 месяца
Начало занятий
26 сентября