- 21, Apr 2023
- #1
Складчик:
Курс предназначен для продвинутых JavaScript-программистов, желающих получить новые знания в области работы с векторной графикой SVG в браузерах, используя, де факто, современный стандарт (библиотеку) D3.js. Написание более-менее серьезного и функционального приложения с использованием D3 – сложная задача, решая которую, легко запутаться.
Данный курс научит Вас работать с D3 в симбиозе с мощнейшим фреймворком построения одностраничных Web-приложений AngularJS, чтобы не утерять контроль над Вашим кодом.
На протяжении всего курса под руководством преподавателя шаг за шагом с подробными объяснениями будет разрабатываться приложение – интерактивный векторный редактор-конструктор.
Чему Вы научитесь
- Вы научитесь работать с векторной графикой в браузере в интерактивном режиме с помощью наиболее функционального средства в этой области - библиотеки D3.js
- Вы получите практические навыки создания и тестирования модульных масштабируемых одностраничных приложений на примере полнофункционального векторного редактора
- Вы узнаете, как пользоваться дополнительными инструментами и средствами, облегчающими и ускоряющими процесс разработки приложения
Программа курса:
Урок 1. Основы D3.js и векторной графики SVG
Библиотека D3. Концепция работы с данными в стиле D3. Формирование [связи] данных (Data Joins). Выборки данных: Enter, Update, Exit.
Свойства выборки.
Методы для работы с выборками.
Краткие сведения о векторной графике SVG.
Координатная система SVG.
Элементы и . Графические примитивы (объекты) SVG: , , , , . Афинные преобразования объектов SVG.
Фильтры SVG.
Урок 2. Подготовка рабочей среды и введение в AngularJS
Библиотеки Bower и Browserify.
Автоматизированная сборка проекта с помощью Grunt.
Настройка локального сервера для обслуживания запросов приложения.
Введение в AngularJS.
Модель, представление и контроллёр в AngularJS.
Управление зависимостями, для чего это необходимо.
Модули, директивы и сервисы.
Написание тестов для приложений AngularJS.
Урок 3. Создание каркаса приложения
Описание модульной архитектуры. Общие подходы к созданию приложения. Требования к функциональности, определение поддержки необходимых технологий в браузере. Дизайн деталей макета для отображения на редакторе.
Урок 4. Разработка рабочего поля векторного редактора
Поведения D3.js: Drag & Zoom. Интерполяция в D3. Переходы (Transitions) в D3: что это такое, как с ними работать. Реализация сетки редактора. Сервис $q. Создание функциональности центрирования, масштабирования. Написание модульных тестов.
Урок 5. Создание статичных перетаскиваемых компонентов (деталей макета)
Разработка директив компонентов. Маски SVG, правила заполнения сложных фигур. Разработка поведений объектов на поле редактора. Создание сервисов отрисовки. Тестирование директив и сервисов.
Урок 6. Создание вращающихся компонентов и креплений
Объект d3.timer, рисование зубчатой передачи. Управление скоростью вращения. Отрисовка гексагональных креплений-болтов. Модель отрисовки SVG. Управление порядком отрисовки и наложения объектов SVG. Реализация логики работы креплений.
Урок 7. Реализация палитры компонентов (деталей макета)
Реализация перетаскивания Drag & Drop на элемент SVG. Определение координат при перетаскивании: клиентские и экранные координаты в SVG, матрица текущих преобразований (Current Transformation Matrix) SVG, перевод из одной системы координат в другую. Компиляция директив AngularJS.
Урок 8. Сохранение, загрузка и проверка состояния
Написание сервиса загрузки и сохранения состояния (макета) редактора. Проверка топологии, сравнение с заданным макетом. Написание E2E-тестов. Подведение итогов.
Скачать: