C.U.O.N., GTK3 und Broadway
Broadway!
Als ich zum ersten Mal im Netz etwas über das GTK-Backend Broadway las, dachte ich »WOW – das ist es«. Natürlich kam dann wieder die Skepsis zum Tragen, denn immer wieder wurde den Programmierern die eierlegende Wollmilchsau versprochen – und nie gegeben.
Broadway nun sollte als Backend jedes GTK3 Programm im Webbrowser lauffähig machen. Das würde natürlich immense Vorteile gerade für kleine und kleinste Programmierteams bedeuten. Denn diese schaffen es ressourcenbedingt oft nicht, mehrere Versionen ihrer Programme für unterschiedliche Betriebssysteme zu pflegen. Und natürlich ist es für den Anwender wesentlich einfacher, eine URL für den Programmstart zu öffnen und keine Installation durchführen zu müssen.
Die Installation
Zuerst waren im Netz nur ein paar Demos zu finden, aber es schien wirklich so einfach zu sein wie überall beschrieben. Also musste eine virtuelle Maschine her; als Betriebssystem wurde Debian Sid und später Ubuntu Precise Pangolin gewählt. Dazu lädt man den Quellcode herunter, entpackt und kompiliert diesen dann folgendermaßen:
$ ./configure --prefix=/opt/gtk --enable-x11-backend --enable-broadway-backend $ make $ sudo make install
Hiermit werden beim Kompilieren die nötigen Backends mit eingebunden, standardmäßig ist das noch nicht der Fall. Dann noch den Pfad zur neuen Library setzen:
$ export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH $ export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
und man kann sein GTK+-Programm ausprobieren. Damit es im Webbrowser läuft, wird jetzt nur noch vor dem Starten die Umgebungsvariable gesetzt:
$ export GDK_BACKEND=broadway
Dann das Programm starten und von einem beliebigen Computer darauf zugreifen.
Funktioniert's?
Zum Testen wurde ein Teil des C.U.O.N-Clients nach GTK3 migriert und mit
$ export GDK_BACKEND=broadway python Cuon.py
gestartet.
Als erstes wurde ein Zugriff von einem Linux-Desktop gestartet. Im Firefox, einem HTML5-fähigen Browser, wurde als URL http://ip_virtuelle_maschine:8080 eingegeben, wobei der Port 8080 der Standard-Port ist und ggf. geändert werden kann. Und wirklich – »WOW« – C.U.O.N startete im Browser mit dem Login und der Mandanten-Auswahl. Die Adressverwaltung wurde geöffnet und es wurden nicht nur die Adressen angezeigt, es war auch eine Bearbeitung problemlos möglich. Mit Firefox unter Windows XP lief es ebenfalls.
Beim Android Pad sah das schon schlechter aus. Es musste erst ein Browser, der Websockets unterstützt, installiert werden. Hier kamen als Kandidaten Firefox und Chrome in Frage. Und auch hier startete C.U.O.N. und in der Adressverwaltung waren die Adressen sichtbar. Auch die Menüs ließen sich bedienen, aber leider klappte die Bearbeitung nicht. In den Eingabefeldern ließ sich leider nichts eintragen. Da muss man wohl noch etwas warten. Beim Opera konnten zwar die Websockets aktiviert werden, aber es wurde nichts angezeigt.
Auch beim iPad sah es nicht so gut aus. C.U.O.N. ließ sich zwar starten und die Startmaske wurde dargestellt, aber die Menüs ließen sich nicht anklicken.
Alles in allem sieht es nicht schlecht aus. Broadway funktioniert auf der Server-Seite extrem problemlos, die großen Standardbrowser auf dem Desktop funktionieren auch sehr gut. Die mobilen Versionen der Browser haben noch etliche Probleme mit den Websockets und HTML5, sind aber anscheinend auf einen guten Weg.