• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Программная инженерия»

Научно-исследовательский семинар "Разработка кроссплатформенных облачных и мобильных приложений"

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
3
Кредиты
Статус:
Курс по выбору
Когда читается:
3-й курс, 1-3 модуль

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

Программа дисциплины

Аннотация

НИС охватывает основы создания полноценных программных сервисов, включая серверную часть, консоль веб-администратора и мобильные клиентские приложения, повторно использующие код с помощью мультиплатформенных мобильных и современных декларативных платформ пользовательского интерфейса (SwiftUI и Jetpack Compose). В рамках данного НИСа также рассматриваются основы и лучшие практики применения новейших инструментов web-разработки, поскольку на сегодня, владея инструментами одного из самых популярных направлений в программировании – web-разработки, можно создавать не только web-сайты, но и кроссплатформенные мобильные приложения.
Цель освоения дисциплины

Цель освоения дисциплины

  • Ознакомиться с технологиями разработки клиент-серверных кроссплатформенных приложений на языке JS и приобрести достаточный набор знаний и навыков для их успешного создания и дальнейшего профессионального развития в этой области.
Планируемые результаты обучения

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

  • Знакомство с синтаксисом языка JS
  • Опыт создания веб-приложений на JS
  • Опыт создания серверных приложений на платформе Node.JS с применением популярных СУБД
  • Опыт создания React-приложений
  • Опыт создания React Native-приложений
  • Опыт создания новых компонентов пользовательского интерфейса
  • Знание основ создания экранов приложения по макетам
  • Опыт взаимодействия приложений с сетью интернет и сторонними API
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение. Основы веб-разработки, применение HTML, CSS и JS. Примеры веб-приложений
  • Введение в библиотеку React и компонентную разработку. JSX. Объяснение state компонента и его ЖЦ
  • Подъем состояния. Композиция vs наследование. Философия React: этапы создания приложений
  • Реализация UI для iOS / Android с использованием React Native и Expo CLI. Пример
  • Продвинутые возможности в React. Введение в React Redux. Пример
  • Лучшие практики разработки web-приложений: введение в БЭМ (Блок-Элемент-Модификатор), TypeScript и SASS/SCSS. Стилизация React-приложения с применением Styled Components
  • Хуки. Примеры
  • Клиент-серверное взаимодействие: архитектурный стиль REST API. Создание серверного приложения на JS в кроссплатформенной среде исполнения Node.JS с применением СУБД. Пример
  • Создание клиент-серверного приложения на React Native с применением REST API. Пример
  • Веб-сокеты. Применение JS-библиотеки Sockets.IO для создания клиент-серверного приложения. Пример
Элементы контроля

Элементы контроля

  • неблокирующий Презентации по предложенным темам
  • неблокирующий Практические ДЗ
  • неблокирующий Прохождение онлайн-курса
  • неблокирующий Индивидуальный / командный проект
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2021/2022 учебный год 3 модуль
    0.1 * Презентации по предложенным темам + 0.15 * Экзамен + 0.4 * Практические ДЗ + 0.1 * Прохождение онлайн-курса + 0.25 * Индивидуальный / командный проект
Список литературы

Список литературы

Рекомендуемая основная литература

  • Dmitry Jemerov, & Svetlana Isakova. (2017). Kotlin in Action. Manning Publications.
  • nader dabit. (2019). React Native in Action : Developing IOS and Android Apps with JavaScript. Manning Publications.

Рекомендуемая дополнительная литература

  • Заяц, А. М. Проектирование и разработка WEB-приложений. Введение в frontend и backend разработку на JavaScript и node.js : учебное пособие для вузов / А. М. Заяц, Н. П. Васильев. — 3-е изд., стер. — Санкт-Петербург : Лань, 2021. — 120 с. — ISBN 978-5-8114-7042-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/154380 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.