Sencha GXT, I name thee demon

Ganz ehrlich, ich bin ja relativ leidensfähig was buggy Software betrifft, aber was diese Jungs da auf die Beine gestellt haben, schlägt dem sprichtwörtlichen Fass den sprichwörtlichen Boden aus.

Die preisen sich als „enterprise class UI framework“ an, als super peformant, Browser kompatibel und gerade könnte ich völlig abgehen weil ich eben über diese prächtige Behauptung gestossen bin:

Our learning resources and API documentation are comprehensive, detailed and regularly maintained

Ich habe seit ich in diesem Beruf arbeite, und das sind jetzt ca. 16 Jahre, noch niemals ein derart bescheideneres beschisseneres Stück Software in die Hand bekommen als dieses GXT Framework. Extra dafür müsste man neue Beleidigungs- und Schimpfwörter erfinden.

API documentation:

ja klar…gibt es. Sieht etwa so aus:

public void setTriggerAction(ComboBoxCell.TriggerAction triggerAction)

Wer jetzt mehr über diese ominöse TriggerAction erfahren möchte, findet sowas:

public static enum ComboBoxCell.TriggerAction

extends java.lang.Enum<ComboBoxCell.TriggerAction>

TriggerAction enum.

Und als „Description“ das da:

ALL

QUERY

Was genau das für Auswirkungen hat, darf der geneigte User selbst probieren. An vielen Panel Klassen findet man auch gerne mal gefühlte 43 setWidth Methoden, die wahlweise als Parameter Integer, String, Kaffeetassen, Float, etc. annehmen. Auch hier wird nicht verraten welcher Parametertyp wie umgesetzt wird.

Will man etwas genau wissen und stürzt sich angewidert in die Sourcen, findet man lustigerweise manchmal die Methoden die man aufgerufen hat – aber nicht so funktionieren wir man denkt – und stellt fest, dass diese manche der übergebenen Parameter mal schick unter den Teppich kehren.

Dieses Enterprise Framework war jetzt auch keinesfall kostenlos. Nein nein, man zahlt da hübsches Geld für, erhält dann aber auch „Premium Support“ mit Zugriff auf ein Forum namens „Premium Help“. Anhand der Daten scheint es bei Sencha ungefähr zwei Developer zu geben die am GXT Framework arbeiten, diese beantworten scheinbar am Tag jeweils nur ein per Zufallsgenerator ermitteltes Posting aus den letzten 6 Monaten. Anders lässt sich nicht erklären warum es teilweise unbeantwortete Fragen gibt die älter als ein Jahr sind.

Wenn man Glück hat, beantworten andere User die Fragen.

Das „Learning Material“ beschränkt sich grösstenteils auf so Fragen „wie binde ich das Framework in meine IDE ein, seit ca. 2 Minor Versions lässt es sich sogar mit Maven builden! Hooray.

Und seit sage und schreibe gestern gibt es sogar ein paar recht kurze Guides.

Egal, ich schweife ab. Ich meckere nicht an Open Source Software, ok, ich meckere, aber ich weiss dass ich da keine brandaktuellen Guides und schrecklich detaillierte API Doc erwarten kann. Ich kenne aber durchaus Open Source Software die ein vielfaches besser gepflegt wird. Aber Gott verdammich wir haben dafür gezahlt! Und es ist ein Haufen *das darf ich hier nicht sagen*

Sie schreiben zwar von einer tollen Json Unterstützung, bauen ihre Beispiele zur Sicherheit aber zu 98% mit RPCs. Sie können zwar einige praktische Dinge, kombinieren die in ihren Bespielen jedoch selten. Aus Gründen.

Die Behauptung dank ihnen bräuchte man keinen Boilerplate Code mehr, führt beim Kollegen und mir zu regelmässigen Gelächter (mit einer Prise Hysterie und einem grosszügigen Löffel Tränen).

Ich habe mich lange lange Zeit nicht mehr über so ausgiebig über ein Stück Fremd-Software aufgeregt, und noch nicht mal über hausinterne so sehr wie über dieses *das darf ich hier auch alles nicht sagen* Teil.

Ganz ehrlich, sollte euer Chef jemals ankommen mit „Hey, ich hab mal was von diesem Sencha GXT gelesen, das könnte ne Lösung für uns sein“ nutzt eine der folgenden Optionen:

a) laut schreiend weglaufen als hinge euer Leben daran

b) Chef mit Kittenbild ablenken, laut schreiend weglaufen als hinge euer Leben daran

c) Chef niederschlagen und laut schreiend weglaufen als hinge euer Leben daran

d) Chef niederschlage und unauffällig weggehen

e) weigern

Mein persönlicher Notfallplan sieht vor, die Jungs während einer Con zu besuchen, ein kleines Blutbad anzurichten um dann in Zwangsjacke in der gepolsterten Zelle zu sitzen und zu murmeln „No boilerplate code. No boilerplate code. Comprehensive and detailed documentation. Redrum“