C++-Webframeworks in Übersicht: Wt (witty)

Standard

Bei meiner Suche nach geeigneten Webframeworks bin ich auf verschiedene Projekte gestoßen, die ich hier in einer kleinen Serie kurz vorstellen möchte:

Das Projekt Wt (witty) verfolgt ein völlig anderen Ansatz als die anderen Frameworks. Es versucht die Web Programmierung soweit zu abstrahieren, dass es sich anfühlt, als würde man eine GUI mit dem bekannten Qt-Framework schreiben. Die Code-History geht bis auf das Jahr 2009 zurück. Der erste Commit ist aber so umfangreich das ich davon ausgehe, dass das Projekt schon wesentlich älter ist und zu dem Zeitpunkt nur das  Versionskontrollsystem gewechselt wurde.

ohloh_net_wt

Laut der Code-Analyse von ohloh.net ist es das aktivste C++-Webframework-Projekt. Fünf Programmierer steuern ihren Code dazu. Die Mailingliste ist relativ aktiv. Wt kommt ohne Pre-Compiler und ohne Qt-Libs aus. Also bei aller Nähe zu Qt wird eine eigene Code-Base verwendet. Die Arbeitsteilung zwischen Web Designer und Programmierer wird aus dem Konzept heraus nicht streng möglich sein. Bei sehr Javascrip-lastigen Anwendungen und bei single page application wird Wt aber seine Stärken ausspielen können.

Anfänglich war ich von Wt recht begeistert. Ich habe schon Erfahrungen mit Qt und so war mir das Konzept gleich eingängig. Bis man aber ein lauffähige Programm hat, hat man eine Menge Code geschrieben. Das Layout einer Seite steuert man über C++-Code/-Klasse, der die Gestaltung sehr stark abstrahiert. Will man Elemente nebeneinander gruppieren, verwendet man Layout-Klassen, in die man andere Elemente hineingruppiert. Möchte man eine Kleinigkeit an dem Aussehen verändern, sieht man sich mit der Herausforderung konfrontiert, die C++Klasse zu finden, die den HTML-Code generiert, den man ändern möchte. Und hier ist die größte Schwäche von Wt: der HTML-Code, der von Wt generiert wird, ist ziemlich aufgeblasen. Ich war immer wieder viele Stunden damit beschäftigt, herauszufinden welche C++-Klasse für mein HTML-Code verantwortlich ist.

Das macht es auch extrem schwierig über CSS das Aussehen des HTML-Code zu steuern. Auch eine relativ simple Seite hat einen tiefen HTML-Baum. Es war oft sehr kniffelig im C++-Code Tag-IDs oder Tag-Klassen-Namen zu vergeben, um sie dann später zum Einen wiederzufinden und zum Anderen mit CSS anzusteuern. Ein Webdesigner wird hier Probleme bekommen, seine Idee umzusetzen. Was natürlich wunderbar geht, ist die Vererbung. Da alle C++-Klassen in sich vollständig sind und keine View-Schicht haben, kann man damit verfahren, wie mit ganz normalem C++-Code.

Siehe auch: „C++-Webframeworks in Übersicht: Als Tabelle“


Creative Commons Lizenzvertrag

Advertisements

Ein Gedanke zu “C++-Webframeworks in Übersicht: Wt (witty)

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s