Original-URL des Artikels: https://www.golem.de/0408/33049.html    Veröffentlicht: 20.08.2004 11:45    Kurz-URL: https://glm.io/33049

Interview: Kommander - KDEs neue Geheimwaffe?

Golem.de im Gespräch mit Quanta- und Kommander-Entwickler Eric Laffoon

Mit Kommander erhält KDE eine Software, die es auch Nicht-Programmierern erlauben soll, einfache wie auch durchaus komplexe KDE-Applikationen zu erstellen. Das Benutzer-Interface wird visuell erstellt und mit fertigen Komponenten inklusive Logik bestückt oder durch beliebige Scriptsprachen hinterlegt. Im Vorfeld der KDE-Konferenz aKademy sprach Golem.de mit Eric Laffoon, einem der Initiatoren und Entwickler der Software sowie Projektleiter des KDE-Web-Editors Quanta über die technischen Hintergründe sowie die vielfältigen Möglichkeiten von Kommander.

Golem.de: Sie arbeiten unter anderem an der Software "Kommander", die mitunter als neue Geheimwaffe von KDE bezeichnet wird. Was macht Kommander aus technischer Sicht?

Eric Laffoon
Eric Laffoon
Eric Laffoon: Kommander ist ein sehr interessantes Werkzeug. Beschreibt man aber nur, was es tut, übersieht man leicht sein Potenzial. Es erzeugt weder Code, der kompiliert wird, noch ein Interface aus Scripten. Es erlaubt es aber, ein Interface mit visuellen Mitteln zu erstellen und auszuführen. Dazu bedarf es keiner Scriptsprache, auch wenn jede installierte Scriptsprache genutzt werden kann. Diese sind aber - wie gesagt - nicht dafür zuständig, das Interface zu zeichnen, sie kümmern sich nur um die Logik.

Kurz gesagt: Kommander erzeugt visuelle Schnittstellen mit Programmlogik oder internen Funktionen in einer beliebigen Scriptsprache und führt diese aus - ohne dabei einen Compiler zu benötigen.

Golem.de: Woher stammt die Idee für Kommander?

Eric Laffoon: Kommander lehnt sich an die Idee hinter Kaptain an, ein Programm, das es erlaubt, einen Dialog mit einfachen Scripten, Grammer genannt, zu schreiben und dann auszuführen.

Das Ganze entstand folgendermaßen: Wir entschieden uns zunächst, einen visuellen Entwicklungsansatz zu verfolgen und nutzen dazu Qt Designer, demnächst wird aber der KFormDesigner zum Einsatz kommen. Der Designer produziert *.ui-Dateien, aus denen Dialoge und Hauptfenster in Qt/KDE erzeugt werden. Bei Kommander enden diese Dateien auf *.kmdr, es handelt sich aber um Dateien im *.ui-Format.

Zuerst wurden zwei Komponenten entwickelt, ein "Editor" und ein "Executor". Kommander schaut nun nach jeder Art von Text, so genanntem "Kommander Text", der in Widgets (Interface-Kompontenten, Anm. d. Red.) in Form von Strings eingebettet ist. Dabei kann es sich um normalen Text, aber auch spezielle Funktionen oder Scripte handeln.

Im Grunde handelt es sich bei Kommander-Widgets um KDE-Widgets mit neuen Eigenschaften, um Kommander-Text einzubinden. Damit ist es dann möglich, komplexere Aufgaben zu erledigen als dies mit KDialog möglich ist. Diese werden im Editor erzeugt und im Executor ausgeführt.



Golem.de: Wer steckt hinter Kommander?

Kommander Editor
Kommander Editor
Eric Laffoon: Kommander wurde ursprünglich von Marc Britton entwickelt. Dann wurden Erweiterungen hinzugefügt, um die Widgets beim Start über Signale und Slots mit Inhalten zu bestücken, Widgets als Plugins hinzuzufügen und schließlich hat Andras (Andras Mantia, Anm. d. Red.) dann DCOP-Funktionen hinzugefügt. Kommander-Dialoge wurden damit dynamisch.

Als dann Michal Rudolf hinzustieß und begann, sich ernsthaft um die Programmierung zu kümmern, nahm Kommander wirklich Fahrt auf. Heute gibt es eine umfangreiche Bibliothek von DCOP-Funktionen sowie Funktionen zur Bearbeitung von Strings, Arrays, Dateien, Logik, Ausdrücken und vielen anderen neuen Widgets.

So schaffen wir eine Basis für verteilte Applikationen, die installiert werden und schneller laufen als wenn man beispielsweise Bash verwendet. Die Bash ist notorisch langsam und alles andere als intuitiv. Man nutzt Bash oder wenn man gut drin ist auch Perl. Will man aber das PHP-CLI oder Ruby nutzen, muss man sich schon sicher sein, dass die angestrebte Zielgruppe das auch installiert hat.

Golem.de: Wie aber unterscheidet sich Kommander von solchen Ansätzen?

Eric Laffoon: Kommander wird einem mitteilen, wenn ein Widget oder eine Scriptsprache notwendig, aber nicht vorhanden ist. Wir haben einen einfachen Funktions-Browser gebaut, in dem man Funktionen per Klick auswählen kann, was die Erstellung von Kommander-Applikationen deutlich einfacher macht. Das Ziel ist es, das Design kleinerer und mittlerer Applikationen so vielfältig zu machen wie ein Spreadsheet, wobei viele potenzielle Fehler durch abstrakte, ausgiebig getestete Funktionen von vornherein ausgeschlossen werden.

Ähnliche Werkzeuge wie der Funktions-Browser werden hoffentlich für Script-Sprachen entstehen und mit Kommander erstellt werden. Der Editor soll sich schließlich durch Kommander leicht erweitern lassen.

Golem.de: Wie wirkt sich das auf die Performance aus?

Eric Laffoon: Wir haben intern und extern, also über die Konsole abgewickeltes DCOP auf einem AMD Duron 1000 mit einer Schleife von 500 Operation gegeneinander getestet. Die externe Variante ließ einen warten, mehr als 30 Sekunden wenn ich mich recht entsinne. Die interne Version hingegen war in weniger als einer Sekunde fertig. Und Kommanders Funktionen nutzen internes DCOP.



Golem.de: Was ist für künftige Versionen geplant?

Eric Laffoon: Künftige Versionen sollen es dann auch erlauben, PHP und Kommander-Scripte wie auch andere Script-Sprachen in einer einzelnen Aktion zu verwenden. So können die Leute dann mit den Mitteln entwickeln, in denen sie sich zu Hause fühlen. Ich kann aber gar nicht oft genug auf die Möglichkeiten hinweisen: Vergessen sie die fast schon religiöse Festlegung auf einzelne Werkzeuge und Sprachen. Die Leute können mit verschiedenen Sprachen in einem Projekt arbeiten, so wird Kommander zum besten Werkzeug für jede Sprache.

Kommander Editor
Kommander Editor
Golem.de: Kommander scheint ein äußerst mächtiges Werkzeug zu sein. Aber wie lässt es sich praktisch einsetzen?

Eric Laffoon: Kommander hat zahlreiche interessante Einsatzmöglichkeiten. Früher erschien mir Kaptain durchaus interessant, aber mir war nicht klar, wie es sich nutzen lässt. Aber eines Tages benutzte ich Kaptain, um Dialoge zur Verwaltung von PHP-Klassen zu erstellen, die Methoden-Aufrufe in Quanta einfügen. Ab diesem Zeitpunkt war ich gefangen und daher gibt es Kommander.

Mit Kommander lassen sich in kurzer Zeit Dialog-Schnittstellen für Kommandozeilenprogramme erstellen, der Start von Programmen anpassen oder angepasste Strings in Programmme einfügen. Mittels DCOP lassen sich auch Methodenaufrufe über eine Dialog-Box ändern sowie KDE-Applikationen erweitern oder ganze Applikationen erstellen.

In Kürze werden wir zudem ein Teil-Projekt veröffentlichen, mit dem sich ein Standard-Set von Applikationen mit einem Klick einrichten lässt. Auch lässt sich Kommander durch eigene Widgets erweitern und Applikationsentwickler können Kommander nutzen, um ihre Applikationen in zusätzlichen Sprachen anzubieten, ohne eine neue Version veröffentlichen zu müssen.

Gerade dies soll Kommander für Entwickler interessant machen. Eine Funktion, die nicht rechtzeitig zum Release fertig geworden ist - und die gibt es immer, ließe sich über Kommander nachrüsten. Zudem kann Kommander bei komplexen Benutzerschnittstellen mit zahlreichen Variablen genutzt werden. Nimmt die Zahl der Permutationen überhand, so dass sich kaum ein sinnvolles Standard-Design festlegen lässt, bietet Kommander dem Nutzer die Möglichkeit, das Interface nach den eigenen Wünschen einzurichten und es so zu verbessern.

Nicht zuletzt erlaubt Kommander ein enorm schnelles Prototyping, bietet aber auch eine schnelle Ausführung der Programme.



Golem.de: Was dürfen Nutzer von Kommander erwarten?

Eric Laffoon: Aus Nutzersicht bedeutet dies, dass, wenn wir die Nutzung von Kommander weiter vereinfachen, auch der Durchschnittsnutzer in der Lage sein wird, KDE-Applikationen zu erweitern und miteinander zu verknüpfen, um den KDE-Desktop zu einer einheitlichen, auf die eigenen Bedürfnisse zugeschnittenen Applikation zu machen. Nutzer, die die Konzepte verstehen, nicht aber C++, können so eigene Applikationen erstellen und verteilen.

Dahinter steckt der Gedanke, die Entwicklung von Software nicht länger einem kleinen exklusiven Klub vorzubehalten.

Golem.de: Wird Kommander schon in Applikationen eingesetzt?

Eric Laffoon: Quanta nutzt Kommander für "HTML Quick Start", einige XML-Tools sowie in ausgiebiger Form für seine HTML-TidyDialoge. Ich habe zudem einen einfachen Installer geschrieben, um die neuen Funktionen von Kommander zu demonstrieren und es auch Leuten wie meiner Frau zu erlauben, Software zu bauen. Sie kann sich etwas wie "./configure && make" offenbar nicht merken. Das Ganze funktioniert sehr gut und wurde auf kde-apps.org auch sehr gut bewertet.

Zudem gibt es einige Portage-Dialoge in Gentoo, die mit Kommander erstellt wurden und auch den RMT-Installer, der die Erstellung von Debian- und RPM-Paketen übernimmt. Wir werden aber noch weitere Werkzeuge für Gentoo veröffentlichen, jetzt, da es ein fertiges Release gibt. Dies wird einen Ersatz für KPortage, ein "etc-update-Tool" und einen eBuild-Creator umfassen.

Ich erwarte, dass in den kommenden Monaten hunderte von Kommander-basierten Tools erscheinen werden.  (ji)


Verwandte Artikel:
Interview: Quanta, der bessere Dreamweaver?   
(23.08.2004, https://glm.io/33051 )
Slimbook 2: KDE aktualisiert Community-Laptop   
(12.02.2018, https://glm.io/132722 )
Interview: KDE als Kommunikationszentrale   
(18.08.2004, https://glm.io/33003 )
Unix-Desktop: KDE Plasma 5.12 startet schneller und bringt LTS   
(07.02.2018, https://glm.io/132636 )
KWin: KDE beendet Funktionsentwicklung für X11   
(22.01.2018, https://glm.io/132300 )

Links zum Artikel:
KDE-Apps - Kommander (.org): http://kde-apps.org/content/show.php?content=12865
KDE-Apps - RMT-Installer (.org): http://kde-apps.org/content/show.php?content=13134
Kommander (.net): http://quanta.sourceforge.net/main2.php?snapfile=snap02
Quanta (.net): http://quanta.sourceforge.net/

© 1997–2021 Golem.de, https://www.golem.de/