2019/2020
Фронтенд-разработка на ReactJS
Статус:
Дисциплина общефакультетского пула
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3, 4 модуль
Язык:
русский
Кредиты:
2
Контактные часы:
24
Программа дисциплины
Аннотация
Дисциплина предназначена для знакомства с технологиями верстки и создания фронтенда веб-приложений. Подойдет всем, кто только хочет начать обучение в данном направлении. Большое внимание уделяется практическим заданиям.
Цель освоения дисциплины
- 1. Научить проектировать клиентскую часть веб-приложения, познакомить с инструментами разработки и веб-технологиями
Планируемые результаты обучения
- Уметь проектировать интерфейс веб-приложений
- Знать основные особенности технологий NodeJS и ReactJS
- Знать паттерны проектирования React-приложений
- Знать популярные библиотеки для использования с ReactJS
- Уметь использовать сложные технологии JS
- Понимать базовые принципы безопасности веб-приложений
Содержание учебной дисциплины
- Получение навыков версткиЗнакомство с базовыми принципами верстки. Изучение основных тегов html. Знакомство с CSS. Примеры использования CSS для описания стилей страниц.
- Знакомство с внутренней архитектурой библиотеки ReactИзучение внутренней архитектуры библиотеки React. Конфигурирование окружения. Подход к передаче данных между компонентами. Взаимодействие с компонентами.
- Знакомство паттернами проектирования React приложений: Higher order component, render props, containerШаблоны проектирования в React: их цели и назначение. Описание шаблонов проектирования high order component, render props, container, примеры их реализации и использования.
- Изучение тонкостей языка JavaScriptСтрогий режим работы, взаимодействие с посетителем, использование websockets, конфигурирование и логирование, unit и e2e тестирование
- Знакомство с языком JavaScript, экосистемой NodeJS, библиотекой ReactУстановка и конфигурирование NodeJS. Изучение базовых принципов и примеров использования. Установка библиотеки React и изучение базовых примеров ее использования.
- Знакомство с библиотеками thunk, react-routerЗнакомство с библиотеками thunk и react-router. Описание целей и вариантов использования. Примеры использования при разработке приложения на React.
- Знакомство с библиотеками redux, react-reduxЗнакомство с библиотекой redux. Описание ее целей и вариантов использования. Примеры использования при разработке приложения на React
- Знакомство с понятием promise; изучение взаимодействия клиента и сервераОбъяснение понятия promise, примеры реализации и работы. Примеры использования при разработке приложения на React.
- Типизация JavaScript кодаПримеры статической и динамической типизации. Работа в строгом режиме JavaScript. Знакомство с TypeScript и Flow
- Вопросы безопасности в веб-приложениях: CORS, CSRFОписание атаки CSRF. Пример атаки и пример защиты. Описание механизма CORS, пример реализации.
Элементы контроля
- Домашняя работа 1
- Домашняя работа 2
- Домашняя работа 3
- Домашняя работа 4
- Домашняя работа 5
- Домашняя работа 6
- Домашняя работа 7Оценка за дисциплину выставляется в соответствии с формулой оценивания от всех пройденных элементов контроля. Экзамен не проводится.
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.142 * Домашняя работа 1 + 0.143 * Домашняя работа 2 + 0.143 * Домашняя работа 3 + 0.143 * Домашняя работа 4 + 0.143 * Домашняя работа 5 + 0.143 * Домашняя работа 6 + 0.143 * Домашняя работа 7
Список литературы
Рекомендуемая основная литература
- Хортон А., Вайс Р. - Разработка веб-приложений в ReactJS - Издательство "ДМК Пресс" - 2016 - 254с. - ISBN: 978-5-94074-819-9 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/97339
Рекомендуемая дополнительная литература
- Yang, Y. LabVIEW graphical programming cookbook. Packt Publishing Ltd, 2014, p. 272.