Перейти к основному содержимому

CS50M: Мобильная разработка на React Native


firstdigital

Почему мобильная разработка?

170 тыс руб

Средняя зарплата старшего специалиста по мобильной разработке в России

54%

Доля мобильного трафика в мире: люди все чаще выходят в интернет именно со смартфонов

7.2 млн

Приложений в App Store и Google Play: как крупные компании, так и стартапы все чаще считают что приложение является важным каналом взаимодействия с клиентом и организации своей работы

Почему этот курс?

Учитесь у лучших

Освойте web-разработку, пройдя курс от инструкторов Гарвардского университета, который стабильно признается в топ-3 в сфере компьютерных наук в мире

Бесплатно

Все материалы курса доступны БЕСПЛАТНО. Получите сертификат об успешном окончании курса за дополнительную плату

Основа профессий

Засчитайте курс как часть одной из IT-профессий first digital, являющихся сильным сигналом для работодателей

Авторы оригинального курса

Дэвид Дж. Малан

Профессор практики компьютерных наук имени Гордона МакКея

Гарвардский университет

Джордан Хаяши

Программист (Software Engineer)

Гарвардский университет

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

Видеолекции

Смотрите видеоуроки в любое время, на любом устройстве, занятия разбиты на 10-30 минутные уроки чтобы встроится в Ваше расписание

Практика

Закрепите новый материал выполнением практического задания с автопроверкой кода

Сообщество

Присоединяйтесь к онлайн форуму и чату для студентов для обсуждения заданий и обмена опытом

Сертификат

Получите сертификат об окончании курса, составьте из отдельных курсов свою IT-профессию

Трудоустройство

Скоро!

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

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

13 недель

6-9 часов в неделю

Средний уровень

Ожидаемый уровень знаний: знание основ HTML, CSS и JavaScript на уровне курса CS50x и желательно CS50W

Неделя
Описание

0

JavaScript

Языки маркировки, используемые для отображения веб-страницы, призваны сделать веб-сайты более визуально привлекательными. Мы рассмотрим следующие темы:

  • HTML и его элементы (заголовки, выделение текста, ссылки, маркеры списка, картинки, новые строки, таблицы, формы)
  • Document Object Model (DOM)
  • Формы
  • CSS: стили и их параметры
  • CSS-селекторы
  • CSS-псевдоклассы
  • Адаптивный веб-дизайн
  • Flexbox, grid
  • Bootstrap
  • Sass (Synthetically awesome Style sheets)

1

ES6

На данной неделе мы рассмотрим Git – систему для контроля версий и коллаборации внутри команды разработчиков. Мы рассмотрим следующие темы:

  • Git
  • GitHub
  • Коммиты (Commits)
  • Конфликты слияния
  • Ветвь (управление версиями)
  • Форк (Forking)
  • Пул-реквесты (Pull-requests)
  • GitHub Pages – простой способ опубликовать статический сайт

2

React, пропсы, состояния

На данной неделе мы рассмотрим Python – широко используемый язык программирования для создания динамических веб-сайтов. Мы рассмотрим следующие темы:

  • Переменные
  • Formatted strings
  • Условия
  • Последовательности – strings, lists, tuples, sets, dictionaries, loops
  • Функции
  • Модули
  • Объектно-ориентированное программирование
  • Функциональное программирование: декораторы, lambda-функции
  • Исключения (except)

3

React Native

На данной неделе мы рассмотрим Django – популярный фреймворк для бэкэнда. Мы рассмотрим следующие темы:

  • Статические и динамические сайты
  • HTTP – как это работает
  • Маршрутизация
  • Шаблоны, условные операторы, стили
  • Таски (tasks)
  • Формы
  • Сессии

4

Списки, пользовательский ввод

На данной неделе мы рассмотрим SQL – язык, используемый для хранения и запроса информации, а также рассмотрим методы Django, облегчающие работу с SQL базами данных. Мы рассмотрим следующие темы:

  • Типы баз данных
  • Типы колонок
  • SELECT и его использование в терминале с UPDATE, DELETE, функциями
  • Функции (AVERAGE, COUNT, MAX, MIN, SUM)
  • Объединение таблиц - Запрос JOIN, индексирование, потенциальные проблемы SQL (внедрение SQL-кода, состояние гонки)
  • Django-модели
  • Миграция
  • Работа с командной строкой Shell
  • Запуск приложения
  • Django админ
  • Многие ко многим (many-to-many)
  • Пользователи и аутентификация

5

Пользовательский ввод, устранение багов

На данной неделе мы рассмотрим JavaScript – язык программирования, который позволяет сделать сайты более быстрыми и интерактивными. Мы рассмотрим следующие темы:

  • JavaScript – отличия и преимущества языка
  • Ивенты (Events)
  • Переменные Variables
  • querySelector
  • Манипуляции с DOM - JavaScript консоль, стрелочные функции (Arrow Functions), создаем TODO List
  • Интервалы
  • Локальное хранение
  • API - JavaScript-объекты, пример с информацией о курсе валют

6

Навигация

На данной неделе мы рассмотрим различные методы, позволяющие сделать вебсайты простыми и понятными в использовании. Мы рассмотрим следующие темы:

  • Одностраничные приложения
  • Скроллинг (в том числе бесконечный)
  • Анимация
  • React

7

Данные

На данной неделе мы рассмотрим различные методы, позволяющие настроить процесс обновления веб сайтов. Мы рассмотрим следующие темы:

  • Assert
  • Разработка через тестирование (Test-driven development)
  • Модульное тестирование (Unit testing)
  • Тестирование приложение Django
  • Тестирование на стороне клиента
  • Selenium - инструмент для автоматизации действий веб-браузера
  • Принципы CI/CD (Continuous Integration and Continuous Delivery)
  • Непрерывная интеграция с GitHub Actions
  • Docker

8

Expo компоненты

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

  • Преимущества и недостатки облачных сервисов
  • Вертикальное и горизонтальное масштабирование
  • Балансировка нагрузки
  • Автомасштабирование (Autoscaling)
  • Масштабирование баз данных и репликация
  • Кэширование
  • Фишинговые атаки
  • HTTPS
  • Криптосистемы с открытым и закрытым ключом
  • Безопасность баз данных
  • Управление API для безопасности
  • Атаки с использованием JavaScript и методы защиты против них
  • Межсайтовая подделка запроса (Cross-site request forgery)

9

Redux

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

  • Преимущества и недостатки облачных сервисов
  • Вертикальное и горизонтальное масштабирование
  • Балансировка нагрузки
  • Автомасштабирование (Autoscaling)
  • Масштабирование баз данных и репликация
  • Кэширование
  • Фишинговые атаки
  • HTTPS
  • Криптосистемы с открытым и закрытым ключом
  • Безопасность баз данных
  • Управление API для безопасности
  • Атаки с использованием JavaScript и методы защиты против них
  • Межсайтовая подделка запроса (Cross-site request forgery)

10

Асинхронный Redux, инструменты

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

  • Преимущества и недостатки облачных сервисов
  • Вертикальное и горизонтальное масштабирование
  • Балансировка нагрузки
  • Автомасштабирование (Autoscaling)

11

Производительность

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

  • Преимущества и недостатки облачных сервисов
  • Вертикальное и горизонтальное масштабирование
  • Балансировка нагрузки
  • Автомасштабирование (Autoscaling)

12

Развертка и тестирование

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

  • Преимущества и недостатки облачных сервисов
  • Вертикальное и горизонтальное масштабирование
  • Балансировка нагрузки
  • Автомасштабирование (Autoscaling)

Финальный проект

К концу курса вы выполните 3 проекта, каждый из которых будет использовать освоенные во время лекций знания:

  • Проект 0: Разработка мобильного приложения-органайзера
  • Проект 1: Разработка таймера Помодоро
  • Проект 2: Разработка мобильного приложения для сайта кинофильмов

Финальный проект - это ваша возможность разработать и реализовать собственное приложение на свой выбор с использованием JavaScript и React Native

Что вы освоите в результате прохождения курса

Освоите основы проектирования базы данных, масштабирования, обеспечения безопасности и удобства пользования вэб-приложением

Освоите на продвинутом уровне JavaScript и его библиотеки, а также фреймворк React Native:

Реализовав 5 проектов, позволяющих всесторонне закрепить знания, Вы научитесь писать и использовать API, создавать интерактивные пользовательские интерфейсы и использовать облачные сервисы, такие как GitHub и Heroku

Приобретете знания и опыт в области принципов, языков и инструментов, которые позволят вам разрабатывать и развертывать приложения в интернете

Сертификат об успешном окончании курса

Все материалы курса доступны БЕСПЛАТНО

В случае если вы хотите получить сертификат об успешном прохождении курса, необходимо будет оплатить 6900 р в любой момент учебы

Пример сертификата:

Сертификат может иметь самостоятельную ценность

А может использоваться для зачета курса как части профессии Web-разработчик first digital, являющихся сильным сигналом для работодателей.

Внести в список