Kategorien
Allgemein

Coffeescript – Kaffe zum Programmieren

CoffeeScript Logo

Javascript ist alt. Sehr, sehr alt. Und es gibt sicher einige Dinge, die man in Javascript auch besser machen kann. Dieses Ziel hat sich CoffeeScript auf die Fahne geschrieben: Javascript einfacher und besser zu machen.

Um eins vorweg zu nehmen: Es ist prinzipiell gelungen. Als langjähriger Javascript-User fühlt man sich dabei natürlich komisch, wenn man auf einmal kaum noch Klammern hat und Einrückungen für die Programmlogik braucht. Auch die natürlichere Schreibweise mit if … then … else und Strings, die auch Zeilenumbrüche enthalten können, sind erstmal ungewohnt. Hier wurde von verschiedenen Sprachen versucht ein “Best of Breed” zu mischen und ich finde es ziemlich gelungen.

CoffeeScript wird mittels node.js in Javascript kompiliert. Allerdings gibt es hier, ähnlich wie bei LESS auch, eine Möglichkeit, das direkt im Browser auszuprobieren.

Durch extrem neue Syntax und ein (für JS-Entwickler) gewöhnungsbedürftige Formatierung ist ist CoffeeScript aber vor allem in zwei sehr speziellen Bereichen besonders interessant:

  1. Parameter mit Default-Werten
  2. Klassen und Objektorientierte Entwickung in JavaScript
    Vererbung, Construktoren und
  3. Bestens dokumentierter Code (seit der frisch releasten 1.5.0) mit Literate CoffeeScript

Es lohnt sich, hier einen Blick drauf zu werfen, insbesondere wenn man schon mit Grunt arbeitet, dann kann man sein CoffeeScript gleich compilieren lassen.

Kategorien
Code Webentwicklung

Was ist JSONP, wofür brauche ich das und wie funktioniert es?

Oder: Wie man mit Javascript doch auf andere Domains zugreifen kann, wenn Sie einen lassen.

Wer kennt das nicht: Man programmiert ein Frontend, welches irgendwo auf eine entfernte JSON-API zugreift, man entwickelt lokal und alles funktioniert super. Aliase im Apache, Proxy-Scripte und Co. funktionieren super.

Wenn man die Anwendung online dann stellt, eventuell beim Kunden, ist alles anders. Ein Lostopf der (Un-)Möglichkeiten. Man nicht mehr Admin und kann nicht mehr ganz so einfach tun und lassen was man will. Soll die Anwendung beispielsweise auf Shared-Hosting-Servern laufen, fallen Apache-Seitige Aliase in der Regel als erstes weg. Je nachdem, was der Hoster an Apache-Modulen bietet, kann man hier eventuell noch einen Rewrite-Proxy mit .htaccess-Dateien zusammenbauen. Welche Vor- und Nachteile das mit sich bringt, muss jeder für sich selbst abwägen.

Kategorien
Code Linklove

Testing jQuery plugins cross-version with Grunt

Testing jQuery plugins cross-version with Grunt

Kategorien
Changelog

jQuery Mobile 1.3.0RC1

Nicht nur Grunt hat ein respektables neues Release vor sich, auch jQuery Mobile hat im nächsten “minor”-Release einiges an neuem zu bieten. Allerdings werden hier eher selten alte Zöpfe abgeschnitten. Erweiterung ja, wirkliche Cuts bei jQuery gibts bisher aber nur bei der kommenden Version 2.0.0, wenn “oldIE” aus dem Unterstützungsscope fällt.

jQuery Mobile kommt mit ein paar neuen Funktionen, die Liste ist lang, die Liste der Bugs, die dann im Nachgang an die Ankündigung von 1.3.0 zum RC1 kam, war lang und vermutlich wird es mindestens einen weiteren RC geben.

Kategorien
Changelog

Grunt 0.4.0 steht vor der Tür

Grunt wird modularer und bricht mit alten Regeln.

Seit geraumer Zeit ist Grunt dabei, eine neue Minor-Version zu erstellen. In der NodeJS-Welt, speziell bei Grunt scheint man auf die Semver-Nomenklatur nicht allzuviel zu geben, so dass zwischen Version 0.3.0, die immer noch als stabil gilt, und der kommenden 0.4.0 ein deutlicher API-Schnitt vorhanden ist.

Die wichtigsten Änderungen, die vor der Tür stehen: