Бакалавриат
2023/2024
Научно-исследовательский семинар "Разработка кроссплатформенных облачных и мобильных приложений"
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
48
Программа дисциплины
Аннотация
НИС охватывает основы создания полноценных программных сервисов, включая серверную часть с базой данных на платформе Node.JS, web-приложения и административные web-консоли на JS и React.JS и кроссплатформенные клиентские web- и мобильные приложения на фреймворке Flutter.
Цель освоения дисциплины
- Ознакомиться с технологиями разработки клиент-серверных кроссплатформенных приложений на языке JS и приобрести достаточный набор знаний и навыков для их успешного создания и дальнейшего профессионального развития в этой области.
Планируемые результаты обучения
- Знакомство с синтаксисом языка JS
- Опыт создания веб-приложений на JS
- Опыт создания серверных приложений на платформе Node.JS с применением популярных СУБД
- Опыт создания React-приложений
- Опыт создания React Native-приложений
- Опыт создания новых компонентов пользовательского интерфейса
- Знание основ создания экранов приложения по макетам
- Опыт взаимодействия приложений с сетью интернет и сторонними API
- Опыт создания Flutter-приложений
Содержание учебной дисциплины
- Введение. Основы веб-разработки, применение 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 для создания клиент-серверного приложения. Пример
- Платформа Next.js для создания визуализируемых сервером JS-приложений. Пример
- Часть 2. Кроссплатформенная разработка на Flutter
Промежуточная аттестация
- 2023/2024 учебный год 3 модульНАКОП = MIN( 0,4 * ДЗ + 0,3 * АУД_АКТИВН + 0,3 * ПРОЕКТ + БОНУСЫ, 10 ) Экзамен обязателен, если НАКОП < 8, тогда ИТОГ = 0.8 * НАКОП + 0,2 * ЭКЗ. АВТОМАТ возможен по желанию, если НАКОП >= 8, тогда ИТОГ = НАКОП. Дополнительные баллы: - за призовое место в период проведения НИСа на хакатоне с использованием JS / TS или Dart (1,5 балла max). - отбор в период проведения НИСа на стажировку в крупную IT-компанию (или ее успешное прохождение) на веб-разработку на JS / TS или Flutter-разработку на Dart (1,5 балла max). - публикацию в период проведения НИСа Flutter-приложения в App Store и / или Google Play (1,5 балла max). Правила округления (только ИТОГа) - к ближайшему целому.
Список литературы
Рекомендуемая основная литература
- 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). — Режим доступа: для авториз. пользователей.