Mrz 07 2012

small steps

Tag: EntwicklungPhoscur @ 20:07

Bin über den Winter weit weniger voran gekommen, wie ich gehofft hatte – Ich mache nur kleine Schritte zur Zeit.

Meist, so wie jetzt gerade beschäftigt mich mehr die Umgebung der Entwicklung, ein Buildprozess soll verschiedene Aufgaben automatisieren:

  • Erstellung der game.js für den Client (hier werden Module nach Abhängigkeiten zusammengesucht und mit CommonJS require() bereitgestellt, Client und Server haben die selbe Codebase)
  • Verkettung von CSS Dateien (HTML5 boilerplate)
  • JHint Codecheck
  • Ausführung von Tests
  • Spezialversion „production“ (Kompression von JS und CSS Dateien)

Vor allem für den ersten Punkt habe ich eine ganze Weile gesucht, habe ja letztes mal schon browserify geschrieben, mittlerweile verwende ich webmake für die Erstellung der Client Datei. SourceURL hilft dabei in der großen Datei beim Debuggen nicht die Übersicht zu verlieren. Die „production“ Version gehe ich erstmal nicht an, webmake fehlt das Feature noch und gebraucht wird das sowieso noch nicht.

Tests habe ich leider noch viel zu wenig bis gar nicht, das ist nicht gut, aber nachträglich Tests schreiben ist mühsam und unangenehm, und in einen test-driven Prozess kann ich mich leider bisher nicht einfinden.

Diese Aufgaben werden nun gesammelt von grunt bzw. einer Abwandlung (HTML5 boilderplate) zusammengefasst, die Möglichkeit alles bei Dateiänderungen automatisch auszuführen, ist auch integriert, spinnt aber noch ein wenig auf Windows, NodeJS fs.watch() ist noch nicht platformunabhängig stabil und meist wird nur der Linux funktionale Teil unterstützt.

Ich bin mittlerweile auf github aktiv, ärgere mich aber meist eher wenn ich ein Tool nicht so nutzen kann wie ich es gerne hätte, und dann erstmal mit fremdem Code beschäftigt bin, trotzdem sehr schön wie sich dort eine Community bauen lässt, viel Infrastruktur ist bereits gegeben, für OpenSource Projekte einfach umsonst : ).

Zudem steht demnächst an meine ganze Entwicklung (inkl. des Blogs) auf Englisch umzustellen. Die Community von NodeJS ist international und ich denke das ich dort vielleicht einige fähige Leute für meine Sache gewinnen kann. UGamela selbst war ja auch schon immer international, das Spanisch, Polnisch, Französisch und Deutsch in den Foren und im Code hat aber nicht zur Entwicklung beigetragen. Ich weiß noch wie ich mühsam polnische Quelltext Kommentare übersetzt habe (o.O).

Ich spiele zur Zeit gerne StarCraft II in meiner Freizeit. Herrliches Echtzeit Strategie Spiel!