Dieses Dokument richtet sich an Entwickler, die bereits eine Fork von Blockly erstellt haben und auf eine aktuelle Version von Blockly umstellen möchten, ohne die Bibliothek zu patchen. Auch wenn das eine entmutigende Aufgabe erscheint, gibt es einige Schritte, die Sie unternehmen können, um den Prozess zu vereinfachen.
Informationen zum Entfernen von Forks
Wenn Sie die Mainline-Version von Blockly verwenden, verwenden Sie eine kürzlich veröffentlichte Version von Blockly und alle Ihre Anpassungen verwenden öffentliche Blockly APIs ohne Monkeypatching. Das Entfernen der Fork-Funktionen ist erforderlich, um die benutzerdefinierten Funktionen Ihrer Fork mit den Mainline-APIs zu implementieren.
Einfache Fälle ohne Verzweigung
Im Folgenden finden Sie zwei häufige Gründe für eine Fork und Lösungen, wie Sie zur Hauptverzweigung zurückkehren können:
- Sie haben eigene Blöcke und Generatoren erstellt, ohne Blockly-Code zu ändern: In diesem Fall können Sie Ihre benutzerdefinierten Blöcke und Generatoren einfach aus dem Blockly-Repository in den Code Ihrer eigenen Anwendung verschieben, um die Fork aufzuheben. Danach sollten Sie Ihre Blockly-Version aktualisieren können.
- Sie haben dem Blockly-Namespace benutzerdefinierte Funktionen hinzugefügt, ohne Blockly-Code zu ändern: Sie haben beispielsweise benutzerdefinierte Felder oder Hilfsmethoden hinzugefügt, die nur von Ihrer eigenen Anwendung verwendet werden. Wenn Sie die Fork in diesem Fall aufheben möchten, verschieben Sie diesen benutzerdefinierten Code in Ihre eigene Anwendung außerhalb des Blockly-Repositorys. Anschließend sollten Sie Ihre Blockly-Version aktualisieren können.
Extensive Unforking Case
Funktion von Forks bestimmen
Der letzte Grund, warum Nutzer eine Fork erstellen, ist das Patchen von Blockly, um benutzerdefinierte Funktionen zu erstellen, die ihrer Meinung nach derzeit nicht vorhanden sind. Wenn Ihre Fork deutlich veraltet ist, haben wir die benötigte Funktion möglicherweise bereits hinzugefügt, entweder als Plug-in oder im Kern. Wenn Sie wissen, welche Funktionen Sie in Ihrer Fork hinzugefügt haben, können Sie besser planen, welche Funktionen Sie aktualisieren müssen.
Architektur verstehen
Nachdem Sie die Funktionen kennen, für die forkspezifische APIs verwendet werden, sollten Sie Folgendes berücksichtigen:
- Kann jede Funktion, die die Fork verwendet, mithilfe von Blockly APIs repliziert werden?
- Wenn Sie die Funktion nicht mit Blockly APIs nachbilden können, wenden Sie sich bitte über das Forum an uns oder reichen Sie ein Problem auf GitHub ein. Unser Team wird dann prüfen, ob APIs hinzugefügt werden können, um die Anpassung zu ermöglichen.
Weg ohne Verzweigung bestimmen
Im nächsten Schritt beginnen Sie mit der Implementierung der neuen Blockly-basierten Architektur für Funktionen mithilfe der Fork. Es gibt zwei Hauptansätze:
- Blockly aktualisieren und sehen, was nicht mehr funktioniert: Sie sehen sofort die Bereiche in Ihrem Code, die aktualisiert werden müssen. Sie können diese Informationen in Kombination mit dem, was Sie bereits über benutzerdefiniertes Verhalten wissen, als Orientierungshilfe für Ihre Entwicklung verwenden.
- Code umstrukturieren, um Funktionen von Blockly zu trennen: Dazu müssen Sie genau wissen, welche Funktionen für Ihre Fork benutzerdefiniert sind und welche aus Blockly stammen. Sobald der Code vollständig getrennt ist, ersetzen Sie die alte Version von Blockly durch die neueste Version und beheben Sie alle verbleibenden Integrationsprobleme.
Zukunftspläne
Als Blockly-Entwickler sollten Sie in Zukunft folgende Regeln beachten:
- Im Allgemeinen sollten Sie dem Blockly-Namespace keine neuen Klassen hinzufügen. Sie können benutzerdefinierte Felder oder andere registrierbare Klassen registrieren, ohne sie im Blockly-Repository oder im Blockly-Namespace zu deklarieren.
- Sie sollten die Build-Tools von Blockly nicht verwenden, um Ihre eigene Anwendung zu kompilieren. Wir betrachten unsere Build-Tools nicht als Teil der öffentlichen API. Daher können wir Änderungen daran vornehmen, die die Funktion Ihrer Anwendung beeinträchtigen. Sie sind dafür verantwortlich, Ihre Anwendung zu kompilieren, falls Sie dies wünschen.
Kontakt herstellen
Das Blockly-Team ist im Blockly-Forum erreichbar. Wenn Sie während des Vorgangs Probleme haben, können Sie sich dort an uns wenden.