Samstag, 1. März 2014

Über Freud und Leid des Redens und AngularJS

Angekommen?


Im letzten Blogpost hab ich noch geschrieben, dass ich jetzt endlich im Scout angekommen bin. Jetzt, wo der beste in unserem Team für zwei Wochen in Urlaub ist und wir uns um einige Fehler wie ein vollgelaufenes SAN plus danach inkonsistenten Daten selber kümmern mussten und jetzt beinahe den Sprint gerissen haben, weil die Vorarbeit von unserem urlaubenden Teamkollegen nicht 100% funktioniert hat und wir noch diverse Anpassungen machen mussten, mache ich mir doch wieder ein paar Sorgen darüber, ob ich denn nun angekommen bin ... gerade auch deshalb, weil ich bei vielem davon immer noch wie ein Schwein vorm Uhrwerk dastehe und noch nicht ganz verstehe, was da nun wirklich vor sich geht. Zumindest verstehe ich mittlerweile, wie unsere Applikation funtioniert und durch welche Schritte sie läuft und wie es im Einzelnen umgesetzt wurde.

Allerdings strengt das ständige reden, 8 Stunden konzentriert sein und im Paar programmieren auf die Dauer doch ziemlich an, und am Ende von einem Tag fühle ich mich meistens ziemlich fertig. Der Code, der dabei raus kommt, ist zwar dafür auch deutlich besser, auch weil jeder ihn mal gesehen hat, aber es ist schon enorm anstrengend, auch weil wir uns zwar vier Stories vorgenommen haben, davon aber bis vorgestern noch zwei offen waren, und schon 2/3 des Sprints vorbei war. Dafür hab ich am Donnerstag eine Story alleine gewuppt, was für mein Selbstvertrauen doch ein guter Boost war :). Gestern war dafür wieder nicht viel los, vor allem deshalb weil 15:00 die Entwicklungsdatenbanken und die Testsysteme herunter gefahren wurden über das Wochenende. Lokal haben wir nur die Applikation aufgesetzt, und es wäre vermutlich auch möglich gewesen die Datenbank lokal aufzusetzen, aber dann hätte ich den Rest der Zeit nur damit zugebracht und das hätte auch nicht wirklich viel gebracht - es sei denn ich hätte am Wochenende arbeiten wollen (aber dafür fehlt mir im Moment die Energie).


AngularJS

An zwei Stellen in unserem Code benutzen wir mittlerweile AngularJS statt wie bisher JSP. Das hat sehr große Vorteile, vor allem weil man dann im Frontend sortieren und filtern kann und nicht extra dafür noch Anfragen an den Server stellen muss. Außerdem kann man mit 2-3 Zeilen Angular-Code Sachen umsetzen, die sonst mehrere Zeilen Code und einiges an Gehirnschmalz erfordern würde.

Dafür gibt es aber auch einige sehr seltsame Bugs, die interessanterweise schon seit langem bekannt sind, aber trotzdem noch nicht gefixt wurden. Zum Beispiel ist AngularJS zwar kompatibel mit dem IE8, aber sobald man HTML5 Elemente benutzt (und sie mithilfe von z.B. Modernizr.js auch für den IE8 erkennbar macht) baut AngularJS nachgeladenen HTML-Code, der diese HTML5-Elemente beinhaltet, falsch um. Z.B. wird aus <section> dann ein <:section>, und alle Stylings und Javascript-Code, der darauf zugreift, läuft ins Leere. Außerdem erkennt AngularJS dann nicht mehr die eigenen Attribute wie ng-repeat auf diesen HTML5-Elementen.

Alles in allem würde ich AngularJS ab jetzt bei jedem Projekt einsetzen, das irgendwie eine Webseite darstellen soll, aber diese Hürden sollte man kennen und darauf auch reagieren.