Инструменты разработчика
Инструментарий для разработки плагинов состоит из двух частей: SDK, который подключается в коде плагина, и CLI, который позволяет работать с жизненным циклом плагина. Весь инструментарий распространяется в виде NPM пакетов.
SDK
Работа с Трекером осуществляется с помощью SDK, который подключается как библиотека. SDK предоставляет как методы взаимодействия на уровне пользовательского интерфейса, так и методы для работы с публичным API Трекера.
SDK поставляется в двух видах:
@weavix/tracker-plugin-sdk-react— React-like подход. Используется в шаблонах и примерах. Рекомендуется к использованию.@weavix/tracker-plugin-sdk-core— чистый JS. Можно использовать с любым фреймворком.
CLI
CLI — это консольная утилита в виде NPM пакета, которая обеспечивает весь жизненный цикл плагина: создание, отладка, проверка и публикация.
Библиотека компонентов
Для разработки интерфейса рекомендуем использовать компоненты дизайн-системы Gravity-UI. На них построен интерфейс самого Трекера, поэтому их использование позволит получить наиболее близкий UX. В будущем мы дополнительно выпустим библиотеку компонентов со специфичными компонентами Трекера.
Примечание
Если вы создадите плагин через CLI, в проекте уже будут подключены Gravity UI и необходимые стили. CLI также добавит файлы темы в каталог src/themes. Устанавливать и импортировать пакет @yandex-data-ui/gravity-themes не нужно.
Чтобы компоненты переключались вместе с темой Трекера, получите значение theme через useTrackerPluginContext() и передайте его в ThemeProvider:
import {ThemeProvider} from '@gravity-ui/uikit';
import {useTrackerPluginContext} from '@weavix/tracker-plugin-sdk-react';
const App = () => {
const {theme} = useTrackerPluginContext();
return <ThemeProvider theme={theme}>Код плагина</ThemeProvider>;
};