Векторная графика в одностраничных Web-приложениях (2016)

  • Автор темы I AM
  • Обновлено
  • 07, Jun 2018
  • #1


AngularJS/D3.js
Векторная графика в одностраничных Web-приложениях

Требования: уверенные знания JavaScript.

Курс предназначен для продвинутых JavaScript-программистов, желающих получить новые знания в области работы с векторной графикой SVG в браузерах, используя, де факто, современный стандарт - библиотеку D3.js. Написание более-менее серьезного и функционального приложения с использованием D3.js – сложная задача, решая которую, легко запутаться.

Данный курс научит вас работать с D3.js в симбиозе с мощнейшим фреймворком построения одностраничных веб-приложений Angular.js, чтобы не утерять контроль над вашим кодом.

В течение всего курса под руководством преподавателя шаг за шагом с подробными объяснениями будет разрабатываться приложение – интерактивный векторный конструктор.

Средняя продолжительность занятий: 3 часа.

Язык программирования: JavaScript / ECMAScript 2015 (по желанию слушателей)

Версия Angular.js: 1.x (последняя на момент проведения курса)

CSS будем оформлять с помощью SASS, шаблоны – Jade.

Для прохождения курса вам понадобится аккаунт GitHub.

Чему Вы научитесь
  • Работать с векторной графикой в браузере в интерактивном режиме с помощью наиболее функционального средства в этой области - библиотеки D3.js;
  • Создавать и тестировать модульные масштабируемые одностраничные приложения на примере полнофункционального векторного редактора;
  • Использовать дополнительные инструменты и средства, облегчающие и ускоряющие процесс разработки приложений.


Программа курса Урок 1. Основы D3.js и векторной графики SVG Библиотека D3. Концепция работы с данными в стиле D3. Формирование [связи] данных (Data Joins). Выборки данных: Enter, Update, Exit.

Свойства выборки.

Методы для работы с выборками.

Краткие сведения о векторной графике SVG.

Координатная система SVG.

Элементы и . Графические примитивы (объекты) SVG: , , , , . Аффинные преобразования объектов SVG.

Фильтры SVG. Подготовка рабочей среды и введение в AngularJS Урок 2. Подготовка рабочей среды и введение в AngularJS Библиотека Browserify.

Менеджеры пакетов Bower, npm.

Автоматизированная сборка проекта с помощью Grunt или Gulp (по желанию слушателей). Настройка локального сервера для обслуживания запросов приложения.

Использование распределенной системы контроля версий Git и сервиса GitHub.com для организации работы над проектом. AngularJS: введение.

D3.js: разработка рабочего поля векторного конструктора Урок 3. AngularJS: введение.

D3.js: разработка рабочего поля векторного конструктора Введение в AngularJS.

Модель, представление и контроллер в AngularJS.

Управление зависимостями, для чего это необходимо.

Модули, директивы и сервисы.

Сервис $q в AngularJS.

Поведение Zoom в D3.js. Переходы (Transitions) в D3: что это такое, как с ними работать.

Реализация сетки конструктора. Создание статичных перетаскиваемых компонентов (деталей макета) Урок 4. Создание статичных перетаскиваемых компонентов (деталей макета) Интерполяция в D3. Поведение Drag в D3. Разработка директив компонентов – общие подходы.

Разработка поведений объектов на поле конструктора.

Реализация сервиса «прилипания» деталей к линиям сетки конструктора.

Создание первой детали – прямоугольника с отверстиями.

Компиляция директив AngularJS.

Работа с элементом в SVG, основные команды.

Правила заполнения сложных фигур Создание вращающихся компонентов и креплений Урок 5. Создание вращающихся компонентов и креплений Функция d3.timer, рисование зубчатой передачи.

Управление скоростью вращения.

Отрисовка гексагональных креплений-болтов.

Модель отрисовки SVG.

Управление порядком отрисовки и наложения объектов SVG. Работа над сервисом отрисовки деталей и доработка их функциональности Урок 6. Работа над сервисом отрисовки деталей и доработка их функциональности Создание треугольника.

Написание сервиса отрисовки деталей.

Реализация дополнительной функциональности для всех деталей: вращение, удаление с поля конструктора, изменение цвета. Реализация палитры компонентов (деталей макета) Урок 7. Реализация палитры компонентов (деталей макета) Реализация перетаскивания Drag & Drop на элемент SVG.

Определение координат при перетаскивании: пользовательские (user) и экранные (viewport) координаты в SVG, матрица текущих преобразований (CTM, Current Transformation Matrix) SVG, перевод из одной системы координат в другую.

Написание тестов для приложения

Урок 8. Написание тестов для приложения

Конфигурация запускателя модульных тестов Karma.

Запускатель функциональных (E2E) тестов Protractor, его конфигурация.

Написание модульных и функциональных тестов с использованием Jasmine.

Тестирование асинхронного кода.

Подведение итогов.
Скачать:
Скрытая информация :: Авторизуйтесь для просмотра »

I AM


Рег
23 Jul, 2011

Тем
403760

Постов
400028

Баллов
2418908
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно