<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>//dennisbloete &#187; Objective-J</title>
	<atom:link href="http://dennisbloete.de/tags/objective-j/feed/" rel="self" type="application/rss+xml" />
	<link>http://dennisbloete.de</link>
	<description>Arbeit und Alltag eines Software-Entwicklers aus Bremen</description>
	<lastBuildDate>Sat, 04 Sep 2010 20:25:25 +0000</lastBuildDate>
	<language>de-de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Lecker Cappuccino</title>
		<link>http://dennisbloete.de/blog/lecker-cappuccino/</link>
		<comments>http://dennisbloete.de/blog/lecker-cappuccino/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 22:46:37 +0000</pubDate>
		<dc:creator>Dennis</dc:creator>
				<category><![CDATA[Cappuccino / Objective-J]]></category>
		<category><![CDATA[Cocoa / Objective-C]]></category>
		<category><![CDATA[Cappuccino]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Objective-J]]></category>

		<guid isPermaLink="false">http://dennisbloete.de/?p=327</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="align-right size-full wp-image-467 no-border" title="Cappuccino" src="http://dennisbloete.de/wp-content/uploads/cappuccino.png" alt="" width="256" height="256" />Bei <a href="http://neuland-bfi.de/">neuland</a> beschäftigen wir uns im Rahmen eines Forschungsprojekts aktuell mit <a href="http://cappuccino.org/">Cappuccino</a>. Dabei handelt es sich um ein <a href="http://github.com/280north/cappuccino/tree/master">Open Source</a> 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 <a href="http://280slides.com/">280 Slides</a>, die von den Cappuccino-Machern <a href="http://280north.com/">280 North</a> entwickelt wurde.</p>
<p>Cappuccino ist wie <a href="http://www.sproutcore.com/">SproutCore</a> 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.</p>
<h4>Objective-J</h4>
<p>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 -&gt; CPObject, NSView -&gt; 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).</p>
<p>Aus den Erfahrungen der letzten Tage würde ich sagen, dass man relativ schnell einen Einstieg findet, wenn man sich kopfüber in das <a href="http://cappuccino.org/learn/tutorials/scrapbook-tutorial-1/">Einsteigertutorial</a> stürzt &#8211; wer keine Objective-C-Kenntnisse mitbringt sollte sich zunächst die <a href="http://cappuccino.org/learn/tutorials/objective-j-tutorial.php">kurze Einführung in Objective-J</a> 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.</p>
<p>Bis dahin viel Spaß beim Experimentieren! Erfahrungsaustausch &#8211; gerne auch zu SproutCore &#8211; wäre super!</p>
<h4>Weiterführendes</h4>
<ul>
<li><a href="http://cappuccino.org/learn/documentation/annotated.html">Objective-J Referenz</a></li>
<li><a href="http://cappuccino.org/discuss/2008/10/01/using-xcode-to-develop-in-cappuccino/">Objective-J Plugin für XCode</a></li>
<li><a href="http://github.com/280north/cappuccino/wikis/nib2cib">nib2cib</a>: Ein Tool, um Interface Builder Dateien in von Cappuccino darstellbare CIBs umzuwandeln (aktuell aber noch sehr früher Entwicklungsstand)</li>
<li>Tutorial zum <a href="http://cappuccino.org/discuss/2008/11/11/cappuccino-and-ruby-on-rails/">Übertragen von Daten aus einer Rails-Anwendung an Cappuccino</a></li>
</ul>
<p>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 <a href="http://ajaxian.com/archives/an-interview-with-280-north-on-objective-j-and-cappuccino">Cappuccino und Objective-J</a>, der andere zu <a href="http://ajaxian.com/archives/audible-ajax-episode-27-sproutcore-with-charles-jolley">SproutCore</a>. Die Podcasts sind beide ca. 15 Minuten lang und gehen auch etwas auf die unterschiedlichen Ansätze der beiden Frameworks ein.</p>
<p>Wer bislang noch keine Erfahrung mit Cocoa/Objective-C mitbringt kann sich auch etwas im <a href="http://developer.apple.com/mac/">Mac Dev Center</a> umsehen. Dort findet man einige nützliche Ressourcen zur Entwicklung mit Objective-C, beispielsweise <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html">The Objective-C 2.0 Programming Language</a> oder den<a href="http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html"> Cocoa Fundamentals Guide</a>.</p>
<p>Die Stanford Universität bietet dieses Semester zum ersten Mal einen <a href="http://www.stanford.edu/class/cs193p/cgi-bin/index.php">iPhone-Dev-Kurs</a> 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:</p>
<ul>
<li><a href="http://cs193p.stanford.edu/downloads/02-ObjectiveC.pdf">Objective-C und wichtige Klassen</a></li>
<li><a href="http://cs193p.stanford.edu/downloads/03-CustomClasses.pdf">Eigene Objekte und Klassen</a></li>
<li><a href="http://cs193p.stanford.edu/downloads/05-ViewsAnimation.pdf ">View Fundamentals</a>: Was sind Frames, Bounds, Rects, Points, etc.?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dennisbloete.de/blog/lecker-cappuccino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
