Рекомендации по JS для аналитика
Тип статьи | Гайдлайн |
---|---|
Компетенции | Аналитик, менеджер проекта, разработчик |
Статус | бета |
Полезные ссылки | |
Дополнительные сведения |
|
Для построения выверенного, законченного и функционального дашборда часто довольно сложно обойтись без JS кастомизаций (речь не о форматерах, а именно коде виджета внизу). Происходит это по многим причинам, вот некоторые из них:
Клиент требует необычную логику.
Великое множество визуальных настроек виджетов из разных JS библиотек очень сложно держать актуальными в GUI и одновременно обеспечивать их совместимость между собой.
Требуется особый визуальный стиль, вероятно даже с подключением сторонних библиотек.
Какие-то типы виджетов отсутствуют в стандартной палитре.
Некоторые расчеты и преобразования данных требуется делать во фронтенде, и форматеры с расчетным столбцом не позволяют решить задачу.
И так далее…
Перед добавлением на дашборд кастомизаций и усложнения его логики стоит помнить следующие вещи:
Иногда функционал можно вполне реализовать без JS кода. Сначала следует убедиться, что без кастома задача точно не решаема.
Простые однострочные кастомизации не требуют особых компетенций в JS/CSS, например, включение какой-то настройки в библиотеке Highcharts. Но даже такие настройки уже не тестируются в новой версии платформы и обновлении той же библиотеки Highcharts. Поэтому все кастомизации придется проверять после обновления платформы, даже такие простые.
Более сложные кастомизации, но на которые есть примеры в документации или на стенде example.visiology.su уже требуют базовых знаний стека HTML/CSS/JS и конкретной используемой библиотеки визуализаций. Даже при копировании примера на свой стенд и его моментальной работоспособности без доработок в будущем потребуется его поддержка при изменении набора данных, обновлении или требовании дополнительной фичи.
Что касается своей разработки с нуля, то ее поддержка разработчиками и аналитиками практически непрерывный процесс, так как технологии не стоят на месте, и “заморозить” все состояние дашборда с данными вряд ли получится.
Итого для работы с кастомизациями нужно почти всегда закладывать компетенции в JS у аналитика или иметь в команде JS разработчика.
Техподдержка в рамках SLA может только отвечать на вопросы, связанные с кастомизациями, работы VisAPI, правильными подходами к разработке, предоставлении уже имеющихся примеров и принятию запросов на появлении новых. Но не участвует непосредственно в написании кода под задачу и вопросов, связанных с его доработкой и поддержкой в будущем.
Не забудьте о связанной статье уже для jS разработчика Рекомендации для JavaScript разработчика
Вывод: подходите к разработке кастомизацией системно: учитывайте все за и против и готовьте почву для поддержания системы в актуальном и работоспособном состоянии в будущем.