Jam-Session: Professionelles Javascript
Micheal Probst Stuckmann stellt seine Diplomarbeit über den professionellen Einsatz von Javascript vor. Erste Feststellung: Firebug FTW! Zweitens: Spheregazer, eine App, die interaktive Sternkarten zeichnet. Im Background werkeln eine MySql-Datenbank und Java Servlets (JSP). Javascript-Codebase ist 2,5 MB groß - puh. Ein Problem beim Erstellen der "Sternenkugel" als SVG war der Zugriff aufs DOM der SVG und deren Manipulation. Das Killer-Javascript-IDE fehlt noch, aber Aptana funktioniert oft schon sehr gut. Eingesetzte Libs: Prototype, Scriptaculous, Dojo für GUI-Elemente. Mangelhaft ist allerdings oft die Dokumentation der Libraries, und die Entwicklergemeinde ist überschaubar.
Der Code hinter Spheregazer ist weitgehend objektorientiert und nach MVC-Logik aufgebaut und daher gut erweiterbar und übersichtlich. Model und View kommunizieren manchmal aber direkt ohne Umweg über den Controller. Daten werden über JSON übertragen. Ein weiteres Problem ist Memory-Management, das keiner der modernen Browser wirklich von Haus aus unterstützt (außer FF3 jetzt); Speicher von Objekten, die dereferenziert werden, wird in der Regel nämlich nicht mehr freigegeben. Und DOM-Knoten sind sehr speicherintensiv. Frage: Geschäftslogik ins Javascript verlagern? Antwort: Ja, ist prinzipiell gut und schnell; nur ob man das will, d.h. ob man die Prozesse öffentlich machen möchte, muss entschieden werden. Dokumentiert wurde mithilfe von JSDOC, und das Projekt soll auch in Zukunft fortgeführt werden.