Skip to content
Alex Ivanov edited this page Apr 12, 2019 · 10 revisions

Задания на лабораторные работы по курсу Разработка ПО для JS & React

1. Основы IDE

  1. Установить VS Code и плагины
  2. Изучить работу с JS кодом в среде VS Code

2. Разработать простейший компонент React.JS

  1. Установить Nodejs (в систему, или использовать docker контейнер)
  2. Склонировать (или спулить) репозиторий https://github.com/agentlab/rdf-scheme-editor.git
  3. Скачать зависимости с помощью npm install
  4. Запустить сторибук с помощью npm run storybook
  5. Изучить стори Hello.stories.js Руководство по сторибук с шага Step 4
  6. Написать свою стори с меню (блок меню слева) RDF4J с использованием Ant Design Menu
  7. Показать стори преподавателю и обсудить
  8. Получить задание на защиту (самостоятельно сделать компонент React.JS в сторибук)

3. Разработать Jest тест

  1. Склонировать (или спулить) и открыть в VS Code репозиторий https://github.com/agentlab/rdf-scheme-editor.git
  2. Прочитать руководство, сделать минимальный пример Create react apps: Running Tests
  3. Сделать юнит-тест функции executeGet, воспользовавшись кодом из Repositories.stories.js

Обратите внимание, что код в Repositories.stories.js асинхронный и для него надо использовать советы из Jest: Testing Asynchronous Code

Более подробное руководство по Jest вообще и матчерам в частности:

4. Взаимодействие React компонентов. Хуки, состояния, контексты. Композиция React компонентов.

  1. Изучить документацию на React Hooks API
    1. https://reactjs.org/docs/hooks-intro.html
    2. https://reactjs.org/docs/hooks-overview.html
  2. Изучить пример Repositories.stories.js
  3. Разработать получение данных с сервера agentlab.ru для компонента из components/ContextInRepository.stories.js
    1. пример того, как должна выглядеть форма https://agentlab.ru/rdf4j-workbench/repositories/reqs/contexts
    2. API сервера по получению списка контекстов http://docs.rdf4j.org/rest-api/#_context_list

5. Тестирование взаимодействующих React компонентов, производительность: профилирование и тесты

6. Сборка React компонентов и библиотек, публикация на сервере

7. Динамическая модульность

8. Тестирование динамических модулей и системное тестирование