javascript42
Главная
Все учебники
Блог
Учебник Deck.gl
Введение в Deck.gl
Что такое Deck.gl и зачем она нужна
История развития библиотеки
Основные возможности и преимущества
Архитектурные принципы
Сравнение с другими библиотеками визуализации
Требования к окружению и браузерам
Установка и настройка
Установка через npm и yarn
Подключение через CDN
Создание первого проекта
Структура минимального приложения
Настройка webpack и сборщиков
Работа с TypeScript
Интеграция с React
Интеграция с Vue.js
Использование с vanilla JavaScript
Базовые концепции
Понятие слоя (Layer)
Понятие представления (View)
Понятие палубы (Deck)
Система координат и проекции
Жизненный цикл компонентов
Концепция immutable данных
Реактивность и обновление слоев
Работа с картами
Интеграция с Mapbox GL JS
Интеграция с Google Maps
Интеграция с Leaflet
Использование без базовой карты
Настройка стилей карт
Управление камерой и viewport
Синхронизация состояния карты
Базовые слои
ScatterplotLayer
ArcLayer
LineLayer
IconLayer
TextLayer
PolygonLayer
PathLayer
GeoJsonLayer
Общие свойства всех слоев
Настройка цветов и стилей
Агрегирующие слои
HexagonLayer
GridLayer
HeatmapLayer
ContourLayer
ScreenGridLayer
CPUGridLayer
GPUGridLayer
Настройка параметров агрегации
Трехмерные слои
ColumnLayer
GridCellLayer
H3HexagonLayer
H3ClusterLayer
PointCloudLayer
SimpleMeshLayer
ScenegraphLayer
Работа с высотой и экструзией
Освещение и тени
Работа с данными
Форматы входных данных
Загрузка данных из файлов
Потоковая загрузка больших датасетов
Accessor функции
Трансформация данных
Фильтрация и сортировка
Работа с GeoJSON
Работа с CSV и JSON
Бинарные форматы данных
Производительность и оптимизация
Понимание GPU-ускорения
Оптимизация количества слоев
Управление памятью
Ленивая загрузка данных
Viewport culling
Debouncing и throttling
Профилирование приложений
Работа с миллионами точек
Binary data и типизированные массивы
Интерактивность
Система событий в Deck.gl
Обработка кликов и наведений
Picking и выбор объектов
Всплывающие подсказки (tooltips)
Выделение объектов
Drag and drop
Кастомные обработчики событий
Управление курсором
Анимация и переходы
Базовые принципы анимации
Transition для свойств слоев
Анимация viewport
Покадровая анимация
Временные ряды данных
Trips и траектории
TripsLayer
Синхронизация анимаций
Кастомизация и расширения
Создание собственных слоев
Наследование от базовых классов
Написание шейдеров
Vertex и fragment шaders
Работа с атрибутами
Кастомные униформы
Расширения (Extensions)
Brush Extension
Data Filter Extension
Path Style Extension
Представления и камера
Типы представлений (Views)
MapView
OrbitView
OrthographicView
FirstPersonView
Множественные представления
Настройка камеры
Контроллеры навигации
Ограничения перемещения
Освещение и эффекты
Ambient освещение
Directional освещение
Point освещение
Material свойства
LightingEffect
PostProcessEffect
Настройка теней
Настройка отражений
Текстуры и спрайты
Загрузка текстур
Использование атласов спрайтов
Текстурирование полигонов
Динамическое создание текстур
Оптимизация текстур
Иконки и маркеры
Работа с большими данными
Тайлинг данных
MVTLayer для векторных тайлов
TileLayer
Динамическая подгрузка тайлов
Кэширование
LOD (Level of Detail)
Квадродеревья и пространственные индексы
Геопространственные возможности
Работа с H3
Координатные системы
Картографические проекции
Геодезические вычисления
Буферизация и геометрические операции
Spatial joins
Тестирование
Настройка тестового окружения
Unit тесты слоев
Тестирование рендеринга
Snapshot тесты
Тестирование взаимодействий
Интеграционное тестирование
Отладка
Инструменты разработчика
Deck.gl debug режим
Stats widget
Логирование и трассировка
Распространенные проблемы
Отладка производительности
Отладка шейдеров
Развертывание
Подготовка к продакшену
Минификация и сжатие
Оптимизация бандла
Code splitting
CDN стратегии
Server-side rendering
Кроссбраузерность
Лучшие практики
Архитектура приложения
Управление состоянием
Паттерны организации кода
Переиспользование компонентов
Обработка ошибок
Типизация и валидация данных
Доступность (A11y)
Безопасность
Продвинутые техники
WebGL контекст и низкоуровневое API
Шейдерные модули
Compute shaders
Работа с framebuffers
Multi-pass рендеринг
Instanced rendering
Пользовательские projection modes
API Reference
Deck класс
Layer базовый класс
View классы
Controller классы
Effect классы
Утилиты и хелперы