"Plugins" für JavaScript erstellen (qooxdoo)

Julian-w

Mitglied
Hallo,
ich habe in qooxdoo eine kleine, grafische Oberfläche erstellt. Nun will ich eine Art PlugIn-System hinzufügen, sodass man einfach .js-Dateien in einen bestimmten Ordner kopiert und die dann auto. vom "Hauptskript" geladen werden (der Skript kann sich mittels AJAX-Request eine Liste der im Ordner enthaltenen Dateien besorgen).

Doch wie kann man sowas unter JS realisieren? Leider habe ich keine Ahnung, wie ich sowas mit qooxdoo machen kann.

Hoffe, ihr könnt mir auf die Sprünge helfen ;)

MfG
Julian
 
Hi,

externe Skripte laden und ausführen kannst du mit dem ScriptLoader von qooxdoo:

var scriptLoader = new qx.io.ScriptLoader();
scriptLoader.load("http://localhost/test.js", function(ev) {
this.debug("Script loaded.");
}, this);


Wenn das Plugin allerdings auch in qooxdoo geschrieben ist, wird das nicht funktionieren: Das Build-System von qooxdoo muss zur Compile-Zeit sämtlichen Code scannen, um die Abhängigkeiten aufzulösen, wenn ein zur Laufzeit geladenes Plugin also Abhängigkeiten hat, die von der Hauptanwendung nicht erfüllt sind, gibt es Probleme. In dem Fall kann das Part-Loading interessant sein:

http://qooxdoo.org/documentation/1.0/parts_using
http://demo.qooxdoo.org/current/apiviewer/#qx.io.PartLoader
 
Nunja, das ist jetzt leider nicht so günstig für mich. Eigentlich wollte ich die Möglichkeit bieten, dass "Dritte" Plugins für das System schreiben könne, ohne das ich ihnen den Quell-Code geben muss bzw. gleich das ganze Projekt neu "compilieren" lassen muss.

Mal ne andere Idee: Gibt es nicht die Möglichkeit, im Compilier zu bestimmen, welche Abhängigkeiten auf jeden Fall eingefügt werden (z.B. der komplette Namespace qx.ui).
Hauptsächlich wird es sich wohl nämlich um zusätzliche Fenster handeln.

Dass müsste ja dann funktionierne, denn es sind ja dann alle Abhängigkeiten vorhanden.

Aber schonmal Danke für die Antwort!

MfG
Julian
 
Hey,
ich habe das gleiche Problem. Bist du inzwischen weitergekommen?

Vielen Dank und viele Grüße,
Chris
 

Neue Beiträge

Zurück