06.022014

swank-js: Mit SLIME interaktiv node.js Applikationen und In-Browser javascript entwickeln

SLIME ist ein Akronym für "Superior Lisp Interaction Mode for Emacs", aber heutzutage sollte man vielleicht ein X oder P anstelle des L verwenden, denn es gibt SWANK Implementierungen für nicht LISP Umgebungen. SWANK ist das Compilerbackend mit dem sich SLIME verbindet, über ein wohldefiniertes RPC-Protokoll kommunizierend.

swank-js ist eine node.js Implementierung, die es Entwicklern ermöglicht, sich per SLIME in eine laufende node.js-Applikation und in zu dieser Applikation verbundenen Browsern einzuhängen. Code zu ändern, hinzuzufügen und auszuführen,  in fast jedem Browser -- auch auf dem iPhone -- direkt aus der Entwicklungsumgebung Emacs heraus. Die Webentwicklungsumgebung vervollständigt die Möglichkeit, CSS ebenso direkt hinzufügen und ändern zu können.

Eine englischsprachige Einführung bietet die Episode 11 von Emacs rocks.

Es gibt viele Entwicklungswerkzeuge, die auf einzelnen Plattformen ähnliche Funktionalität bereitstellen, aber swank-js/SLIME verhält sich unabhängig von der Zielplattform immer gleich.

Swank Backends gibt es auch für Ruby (swank.rb im contrib-Verzeichnis von SLIME) und Clojure. Es empfiehlt sich, SLIME über die Emacs-Paketverwaltung zu installieren, slime-js und slime-repl unbedingt mitinstallieren und im Emacs setup

(slime-setup '(slime-fancy))

oder mindestens

(slime-setup '(slime-repl))

nicht vergessen.

Leider staginieren die Arbeiten an swank-js etwas - aber sowohl emacs-lisp als auch javascript/node sind interessante, Freude machende Sprachen: Probiert es aus, und vielleicht koennt ihr ja die eine oder andere Verbesserung zu swank-js beitragen.