Plug‑ins

Einführung

Ein Plug-in ist ein eigenständiger Code, der Blockly-Funktionen hinzufügt. Plug-ins können z. B. Felder hinzufügen, Designs definieren und Renderer erstellen.

Der Zielnutzer eines Plug-ins ist ein Entwickler, der das Plug-in über npm findet und verwendet. Weitere Informationen zum Erstellen eines Plug-ins finden Sie auch in unserem Vortrag 2021 How to Build a Plugin Talk und 2021 Plugins Übersicht.

Eigene und Drittanbieter-Apps im Vergleich

Im Repository blockly-sample definierte Plug-ins sind eigene Plug-ins. Das bedeutet, dass sie vom Blockly-Team unterstützt und auf npm unter dem Bereich @blockly veröffentlicht werden.

Tolle eigene Plug-ins:

  • Anwendungsfälle haben,
  • sind für allgemeine Zwecke gedacht.
  • sind stabil
  • sind nutzerfreundlich

Plug-ins von Drittanbietern werden unabhängig verwaltet und veröffentlicht. Plug-ins von Drittanbietern können komplexer, experimenteller oder zielgerichteter sein.

Beispielsweise könnte in vielen Robotikprojekten ein Feld zum Einstellen der Motorgeschwindigkeit verwendet werden. Im Gegensatz dazu ist ein Feld zum Bearbeiten eines bestimmten Objekts, das durch Ihr Datenbankschema definiert ist, als Drittanbieter-Plug-in besser geeignet.

Eigene Kriterien

Eigene Plug-ins müssen die folgenden Anforderungen erfüllen:

  • Funktioniert auf allen gängigen Plattformen, sofern das Blockly-Team keine Ausnahme gewährt hat.
    • Chrome, Firefox, Safari, Edge
  • Hat einen Autor, der bereit ist, Fehler im ersten Jahr zu beheben.
  • Verändert Blockly nicht.
  • Es gibt eine klar definierte und dokumentierte API.
  • Ruft keine privaten oder Paketfunktionen aus Blockly Core auf, es sei denn, es wurde vom Blockly-Team eine Ausnahme gewährt.
    • Das Überschreiben von Paketfunktionen in einer von Ihnen definierten Unterklasse ist zulässig.
    • Wenn Sie eine Ausnahme beantragen möchten, können Sie uns eine Frage zu blockly Samples stellen.
  • Enthält Tests.

Plug-ins suchen

  • Auf GitHub-Seiten Entdecken Sie Live-Demos von eigenen Plug-ins.
  • Auf npm: Suchen Sie nach @blockly, um eine Liste der vom Blockly-Team veröffentlichten Plug-ins aufzurufen.
  • Auf GitHub Sehen Sie sich das Plug-in-Verzeichnis im Repository „blockly-samples“ an. Für jedes Plug-in gibt es eine README-Datei, in der Verhalten und Verwendungszweck beschrieben sind.

Plug-ins installieren

  1. Suchen Sie mithilfe einer der oben genannten Ressourcen nach dem Plug-in, das Sie installieren möchten, und gehen Sie zur README-Datei.
  2. Befolgen Sie die Installationsanweisungen in der Infodatei. Im Allgemeinen müssen Sie das Plug-in von npm installieren, z.B.

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

    und importieren Sie sie in Ihren Code, z.B.

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. Einige Plug-ins erfordern möglicherweise zusätzliche Schritte, z. B. das Initialisieren oder Registrieren des Plug-ins. Diese Schritte sind in der Infodatei aufgeführt.

Plug-in-Versionen

Plug-ins in blockly-Samples folgen der semantischen Versionsverwaltung, sodass alle nicht abwärtskompatiblen Änderungen in einer neuen Hauptversion enthalten sind. Jedes neue Plug-in, das auf Monkey Patching Core basiert, erhält die Hauptversion 0, um die anfängliche Entwicklung zu kennzeichnen, wie in der semver-Spezifikation angegeben.

Die meisten Plug-ins enthalten das blockly-Hauptpaket als Peer-Abhängigkeit und nicht als Abhängigkeit. Dies liegt daran, dass wir davon ausgehen, dass Sie Blockly bereits selbst in Ihrer eigenen Anwendung installiert haben (es ist nicht sinnvoll, ein Plug-in ohne die gleichzeitige Verwendung von Blockly zu verwenden) und Sie die Version von Blockly selbst verwalten können. Viele Plug-ins wurden jedoch entwickelt, um neue APIs zu verwenden, die in der neuesten Version von Blockly zu finden sind. Sie müssen also die Versionsanforderungen kennen. Die package.json des Plug-ins gibt an, welche Version von Blockly mindestens mit diesem Plug-in kompatibel ist. Wenn ein Plug-in aktualisiert wird, damit es eine neuere Version von Blockly benötigt, z.B. um eine ganz neue API zu nutzen, wird die Hauptversion des Plug-ins erhöht, da wir diese Änderung als funktionsgefährdende Änderung betrachten.

Wenn Sie das Plug-in zu package.json hinzufügen, wird standardmäßig ein Caret-Zeichen vor der Version eingefügt, z. B.:

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

Dadurch kann npm jede Nebenversion der aufgeführten Version oder höher installieren, sodass die Version 2.0.20 oder 2.1.0 funktionieren könnte, aber keine neue Hauptversion wie 3.0.1. Wenn Sie auf eine neue Version von Blockly aktualisieren, sollten Sie prüfen, ob auch eines Ihrer Plug-ins auf eine neue Hauptversion aktualisiert werden kann.

Plug-ins ohne npm installieren

Generell empfehlen wir die Verwendung von npm, um problemlos Updates zu erhalten. Es ist aber auch möglich, Plug-ins ohne npm zu verwenden.

Sie können „unpkg“ verwenden, um die Plug-in-Dateien einzubeziehen, ohne sie zu klonen, z.B.

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

Sie können auch das blockly-samples-Repository klonen und die Dateien lokal einschließen, ähnlich wie beim Klonen von Blockly. Wir empfehlen Ihnen jedoch, nach Möglichkeit einen Paketmanager zu verwenden, da Sie so über die neuesten Funktionen und Fehlerkorrekturen im Plug-in auf dem Laufenden bleiben können.

Bei dieser Methode müssen Sie weiterhin alle Initialisierungs- oder Registrierungsschritte ausführen, die in der INFO-Datei des Plug-ins aufgeführt sind.