Бакалавриат
2021/2022
Научно-исследовательский семинар "Разработка кроссплатформенных облачных и мобильных приложений"
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Александров Дмитрий Владимирович
Язык:
русский
Кредиты:
3
Контактные часы:
44
Программа дисциплины
Аннотация
НИС охватывает основы создания полноценных программных сервисов, включая серверную часть, консоль веб-администратора и мобильные клиентские приложения, повторно использующие код с помощью мультиплатформенных мобильных и современных декларативных платформ пользовательского интерфейса (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). — Режим доступа: для авториз. пользователей.