Brand new Yandex.Maps API 2.0. Рассказ о нововведениях, вкусностях и мультиязычности. О том, как мы использовали паттерны слабой связанности в новой модульной архитектуре, о CSS Transitions и «коробочном» кластеризаторе, о метках на Canvas и о собственной системе событий.
9. Без ключей По HTTPS
Новый дизайн
Новая
На 4 языках
архитектура
9
10. Проблемы 1.x Требования к 2.0
— большое монолитное — модульность
ядро — простые интерфейсы
— большие сложные с понятной
интерфейсы, сильная ответственностью
связанность объектов — режим для
— сложность отладки упрощенной отладки
— многоязычность
10
11. Модульная система
Состоит из следующих логических единиц:
— модуль
— пакет
— сборщик
— загрузчик
11
12. Модуль
— атомарная единица функциональности
с уникальным именем
— модули делятся на 2 типа: js, css
— js модуль это javascript замыкание,
предоставляющее в публичную область 1 объект
или класс
— может использовать для работы другие модули
— модулей много (≈ 600 в API)
12
13. Подключение
Язык
интерфейса * Порядок координат Пространство имен (ymaps)
(latlong)
/?lang=uk-UA&mode=debug&coordorder=longlat&load=package.map&ns=YM
Режим работы (release) Загружаемые пакеты
* обязательный параметр
() значение по умолчанию
13
14. 2 запроса:
1. загрузчик + информация о всех модулях и пакетах
2. код запрошенных модулей включая зависимости
14
28. Возможны варианты
Был Ничего
touchmove? не делаем
Прошло
> 400 мс? contextmenu
Был click
< 250 мс назад? dblclick
Не было click
ничего
28
29. Мы решили проблему?
Код, написанный для десктопов, работает
без изменений на touch-устройствах
— Если, конечно, нет неочевидных интерфейсных решений на :hover
Можно пользоваться нашим touch-фреймворком
29