Lecker Cappuccino

Bei neuland beschäftigen wir uns im Rahmen eines Forschungsprojekts aktuell mit Cappuccino. Dabei handelt es sich um ein Open Source Framework zur Erstellung von Webanwendungen, die vom look and feel an Mac OS X Desktop Software angelehnt sind. Vorzeigebeispiel für solche Anwendungen ist die derzeit einzige umfangreichere Anwendung 280 Slides, die von den Cappuccino-Machern 280 North entwickelt wurde.

Cappuccino ist wie SproutCore Teil (und möglicherweise Wegbereiter) eines aktuellen Trends, Webanwendungen stärker an das Aussehen und Verhalten von Desktop-Software anzugleichen. Im Gegensatz zu SproutCore setzt Cappuccino jedoch nicht auf altbekannte Mittel: Anwendungen werden mit Objective-J entwickelt — eine neue Sprache, die das übliche Gespann aus HTML, CSS und JavaScript ersetzt.

Objective-J

Wie der Name schon andeutet: Objective-J orientiert sich sehr stark an Objective-C, genau genommen ist es eine Portierung der Objective-C-Syntax zu JavaScript. Ziel dabei ist es auch, die in Cocoa zur Vefügung stehenden Klassen zu portieren und sie als Cappuccino-Klassen abzubilden (bspw. NSObject -> CPObject, NSView -> CPView). Die Cappuccino-API wird somit also nach dem Vorbild der Cocoa-API entwickelt, es ist jedoch vieles noch nicht portiert (aktueller Versionsstand von Cappuccino ist 0.6).

Aus den Erfahrungen der letzten Tage würde ich sagen, dass man relativ schnell einen Einstieg findet, wenn man sich kopfüber in das Einsteigertutorial stürzt - wer keine Objective-C-Kenntnisse mitbringt sollte sich zunächst die kurze Einführung in Objective-J angucken. Das Entwickeln eigener Anwendungen setzt eine umfangreiche Auseinandersetzung mit der Cappuccino API oder besser noch Cocoa-Vorkenntnisse voraus, da es bislang erst relativ wenig Dokumentation und Beispiele gibt. Vor allem Best Practice-Hinweise zur Umsetzungen fehlen noch und wären in Zukunft hilfreich. In den nächsten Tagen werde ich versuchen, immer mal wieder stückweise einzelne Erfahrungen, die wir im Forschungsprojekt machen zu posten und näher darauf einzugehen.

Bis dahin viel Spaß beim Experimentieren! Erfahrungsaustausch - gerne auch zu SproutCore - wäre super!

Weiterführendes

Wer etwas mehr zu den Hintergründen erfahren möchte, der kann sich die folgenden beiden Interview-Podcasts von Ajaxian anhören: Der eine zu Cappuccino und Objective-J, der andere zu SproutCore. Die Podcasts sind beide ca. 15 Minuten lang und gehen auch etwas auf die unterschiedlichen Ansätze der beiden Frameworks ein.

Wer bislang noch keine Erfahrung mit Cocoa/Objective-C mitbringt kann sich auch etwas im Mac Dev Center umsehen. Dort findet man einige nützliche Ressourcen zur Entwicklung mit Objective-C, beispielsweise The Objective-C 2.0 Programming Language oder den Cocoa Fundamentals Guide.

Die Stanford Universität bietet dieses Semester zum ersten Mal einen iPhone-Dev-Kurs an und stellt die Folien im Netz zur Verfügung. Das ist zwar nicht genau unser Thema, aber insbesondere die ersten Lectures behandeln Objective-C und sind gut um schnell einen Überblick zu bekommen:

iOS app for GitHub

iOctocat

ist GitHub für die Hosentasche - deine Projekte und das was dort passiert immer dabei mit deinem iPhone und iPod Touch.
Die App ist