Плагины

Введение

Плагин — это автономный фрагмент кода, который добавляет функциональность Blockly. Плагины могут добавлять поля, определять темы, создавать средства визуализации и многое другое.

Целевым пользователем плагина является разработчик, который находит и использует плагин через npm. Для получения дополнительной информации о создании плагина вы также можете посмотреть наш доклад «Как создать плагин 2021 года» и наш доклад «Обзор плагинов 2021 года» .

Собственные и сторонние

Плагины, определенные в репозитории blockly-samples, являются собственными плагинами, что означает, что они поддерживаются командой Blockly и публикуются в области @blockly на npm.

Отличные плагины от разработчиков:

  • иметь очевидные варианты использования
  • являются универсальными
  • стабильны
  • просты в использовании

Сторонние плагины поддерживаются и публикуются независимо. Сторонние плагины могут быть более сложными, более экспериментальными или более целенаправленными.

Например, поле для установки скорости двигателя можно использовать во многих проектах робототехники. С другой стороны, поле для редактирования конкретного объекта, определенного схемой вашей базы данных, лучше использовать в качестве стороннего плагина.

Критерии первой стороны

Собственные плагины должны соответствовать следующим требованиям:

  • Работает на всех основных платформах, если команда Blockly не предоставила исключение.
    • Хром, Фаерфокс, Сафари, Край
  • Имеет автора, который готов устранять ошибки в течение первого года.
  • Не поддерживает патчи Blockly.
  • Имеет четко определенный и документированный API.
  • Не вызывает частные или пакетные функции из ядра Blockly, если только команда Blockly не предоставила исключение.
    • Переопределение функций пакета в определяемом вами подклассе разрешено.
    • Если вы хотите получить исключение, спросите нас в выпуске о блочных сэмплах.
  • Имеет тесты.

Поиск плагинов

  • На страницах GitHub Изучите живые демо-версии сторонних плагинов.
  • В npm выполните поиск @blockly , чтобы увидеть список плагинов, опубликованных командой Blockly.
  • На GitHub Посмотрите каталог плагинов в репозитории блочных образцов. У каждого плагина есть README, описывающий его поведение и предполагаемое использование.

Установка плагинов

  1. Найдите плагин, который вы хотите установить, используя один из вышеуказанных ресурсов, и найдите README.
  2. Следуйте инструкциям по установке в README. В общем, вам нужно будет установить плагин из npm, например

    npm install @blockly/block-plus-minus --save
    

    и импортируйте его в свой код, например

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. Некоторые плагины могут потребовать дополнительных действий, таких как инициализация или регистрация плагина. Эти шаги будут перечислены в README.

Версии плагина

Плагины в блочных образцах следуют семантическому версионированию , поэтому любые критические изменения будут в новой основной версии. Любой новый плагин, использующий ядро ​​обезьяньего исправления, будет иметь основную версию 0, что означает начальную разработку, как указано в спецификации semver .

Большинство плагинов включают основной blockly пакет в качестве одноранговой зависимости, а не зависимости. Это связано с тем, что мы ожидаем, что вы уже установили Blockly в свое приложение (не имеет смысла использовать плагин без использования Blockly), и поэтому вы можете самостоятельно управлять версией Blockly. Однако многие плагины разработаны для использования новых API, присутствующих в самой последней версии Blockly, поэтому вам необходимо знать требования к версии. package.json плагина сообщит вам, какая минимальная версия Blockly совместима с этим плагином. Если плагин обновляется для использования более новой версии Blockly, например, для использования нового API, основная версия плагина будет увеличена, поскольку мы считаем это критическим изменением.

Когда вы добавляете плагин в свой package.json , по умолчанию перед версией добавляется каретка, например

"@blockly/block-plus-minus": "^2.0.15"

Это позволит npm установить любую второстепенную версию указанной версии или выше, поэтому версия 2.0.20 или 2.1.0 может работать, но не новая основная версия, такая как 3.0.1 . Когда вы обновляетесь до новой версии Blockly, рекомендуется проверить, можно ли обновить какой-либо из ваших плагинов до новой основной версии.

Установка плагинов без npm

Хотя мы обычно рекомендуем использовать npm, чтобы легко получать обновления, можно использовать плагины и без npm.

Вы можете использовать unpkg для включения файлов плагина без их клонирования, например

<script src="https://unpkg.com/@blockly/block-plus-minus"></script>

Или вы можете клонировать репозиторий blockly-samples и включить файлы локально, как если бы вы клонировали Blockly. Однако мы рекомендуем вам по возможности использовать менеджер пакетов, поскольку он поможет вам быть в курсе последних функций и исправлений ошибок в плагине.

При использовании этого метода вам все равно потребуется выполнить любые шаги инициализации или регистрации, перечисленные в README плагина.