Рекомендации по JS для аналитика

Тип статьи

Гайдлайн

Компетенции

Аналитик, менеджер проекта, разработчик

Статус

бета

Полезные ссылки

https://visiology-doc.atlassian.net/wiki/spaces/v32/pages/124823994

Дополнительные сведения

 

Для построения выверенного, законченного и функционального дашборда часто довольно сложно обойтись без JS кастомизаций (речь не о форматерах, а именно коде виджета внизу). Происходит это по многим причинам, вот некоторые из них:

  • Клиент требует необычную логику.

  • Великое множество визуальных настроек виджетов из разных JS библиотек очень сложно держать актуальными в GUI и одновременно обеспечивать их совместимость между собой.

  • Требуется особый визуальный стиль, вероятно даже с подключением сторонних библиотек.

  • Какие-то типы виджетов отсутствуют в стандартной палитре.

  • Некоторые расчеты и преобразования данных требуется делать во фронтенде, и форматеры с расчетным столбцом не позволяют решить задачу.

  • И так далее…

 

Перед добавлением на дашборд кастомизаций и усложнения его логики стоит помнить следующие вещи:

  1. Иногда функционал можно вполне реализовать без JS кода. Сначала следует убедиться, что без кастома задача точно не решаема.

  2. Простые однострочные кастомизации не требуют особых компетенций в JS/CSS, например, включение какой-то настройки в библиотеке Highcharts. Но даже такие настройки уже не тестируются в новой версии платформы и обновлении той же библиотеки Highcharts. Поэтому все кастомизации придется проверять после обновления платформы, даже такие простые.

  3. Более сложные кастомизации, но на которые есть примеры в документации или на стенде example.visiology.su уже требуют базовых знаний стека HTML/CSS/JS и конкретной используемой библиотеки визуализаций. Даже при копировании примера на свой стенд и его моментальной работоспособности без доработок в будущем потребуется его поддержка при изменении набора данных, обновлении или требовании дополнительной фичи.

  4. Что касается своей разработки с нуля, то ее поддержка разработчиками и аналитиками практически непрерывный процесс, так как технологии не стоят на месте, и “заморозить” все состояние дашборда с данными вряд ли получится.

  5. Итого для работы с кастомизациями нужно почти всегда закладывать компетенции в JS у аналитика или иметь в команде JS разработчика.

 

Техподдержка в рамках SLA может только отвечать на вопросы, связанные с кастомизациями, работы VisAPI, правильными подходами к разработке, предоставлении уже имеющихся примеров и принятию запросов на появлении новых. Но не участвует непосредственно в написании кода под задачу и вопросов, связанных с его доработкой и поддержкой в будущем.

 

Не забудьте о связанной статье уже для jS разработчика https://visiology-doc.atlassian.net/wiki/spaces/v32/pages/124823994

Вывод: подходите к разработке кастомизацией системно: учитывайте все за и против и готовьте почву для поддержания системы в актуальном и работоспособном состоянии в будущем.