Bisher habe ich zwei Bücher zum iPhone SDK besprochen, die sich an den fortgeschrittenen Benutzer richten. Doch was tun, wenn man sich als Einsteiger in die Welt der iPhone Entwicklung begeben möchte? Für diese Zielgruppe liegt mir das Buch Programmieren fürs iPhone von Markus Stäuble, herausgegeben im dpunkt.verlag, vor. Der Klappentext des Buchs ist vielversprechend. Der einfache Einstieg in die Programmierung für das iPhone wird versprochen. Ob damit der Schritt in den Appstore getan werden kann, erfahrt ihr in der folgenden Rezension.
Zielgruppe
Das Buch möchte Entwickler ansprechen, die zwar einen gewissen Hintergrund in der objektorientierten Entwicklung haben, bisher aber noch nicht mit dem iPhone SDK oder mit Cocoa gearbeitet haben. Eine umfangreiche Einführung in das SDK, sowie ein Anhang mit einer Einführung in Objective-C ist enthalten.
Inhalt
Das Buch beginnt mit der Installation des iPhone SDKs und das Erstellen eines ersten, sehr einfachen Beispiels. Darauf folgend werden die Grundlagen für die iPhone Entwicklung gelegt und das iPhone OS erläutert. Die verschiedenen Frameworks werden erläutert. Dieses Kapitel ist sehr theoretisch schafft aber ein tieferes Verständnis, warum manche Dinge gemacht werden müssen.
Das vierte Kapitel beschreibt das SDK im Detail. Die benutzten Tools, wie z.B. Xcode, Interfacebuilder, Debugger oder Instruments werden erläutert. Hier schafft Markus Stäuble die Grundlagen, um im fünften Kapitel auf die Anwendungsentwicklung einzugehen. Jetzt wird das zuvor Gelernte praktisch angewendet. Beispielhaft werden Anwendungen wie RSS-Reader oder Zugriff auf das Adressbuch schrittweise entwickelt und detailliert erläutert.
Im abschließenden Kapitel bespricht der Autor, wie die Anwendung auf dem Endgerät getestet werden kann, wie die Anmeldung im Appstore funktioniert und wie man seine Anwendung dort vertreibt (und reich wird?).
Fazit
Das Buch erfüllt alle meine Erwartungen. Der Einstieg in das SDK ist umfangreich, aber verständlich beschrieben. Selbst die Erläuterung der verschiedenen Design-Patterns (MVC, Observer, Decorator, etc.) ist enthalten. Schritt für Schritt werden die Tools und Methoden erläutert. Auch die Benutzung des Appstores wird sehr genau und gut beschrieben. Als Sahnehäubchen enthält der Anhang eine kompakte Einführung in die Paradigmen und Eigenheiten von Objective-C. Mit diesem Buch kann der Start in die Welt der iPhone Anwendungsentwicklung vollzogen werden.
Doch eine kleine Warnung vorweg: Wer noch nie in irgendeiner Programmiersprache entwickelt hat, wird auch mit diesem Buch seine Schwierigkeiten haben. Grundlagen der Objektorientierung sollten vorhanden sein. Für alle anderen kann ich dieses Buch uneingeschränkt empfehlen.
Das Buch ist bereits im Buchhandel erhältlich und kostet 33,00Eur.

{ 9 Kommentare… lese sie unten oder schreibe selbst einen }
Was heißt “in irgendeiner Programmiersprache”?
Also meine sehr guten Basic 2.0 -Kenntnisse an meinem alten C64, meine rudimentären JavaScript- und PHP/MySQL-Grundlagen und meine durchaus vorzeigbaren HTML/CSS-Kenntnisse werden mir vielleicht nicht allzu viel helfen – oder doch?
Überlege nämlich schon länger mal wieder das Programmieren am Mac zu starten, nachdem ich am C64 und nach ein wenig TurboPascal an ner Windowsmaschine lange nichts mehr in dieser Richtung (außer eben Webprogrammierung) gemacht habe.
Würde mir dazu dieses Buch reichen oder ist da noch ein anderes Buch Pflichtlektüre?
@Matthias:
> Grundlagen der Objektorientierung sollten vorhanden sein.
Da wird die Krux dann bei dir sein. Um für das iPhone programmieren zu können, sollte man schon etwas mehr gemacht haben, in Sachen Objekt-Orietentierung. Wenn du Objekt-Orietentierung verstanden hast (und meiner Meinung nach auch schon ein paar mal richtig angewandt) hast, dann kannst du so einem Buch wie oben loslegen.
Wenn dir die Grundlagen der Objekt-Orientierung fehlen und du mit iPhone Programmierung anfangen willst, kannst du die gut mittels des Buches “Programming in Objective-C 2.0″ (Developer’s Library) in diese Thematik reinkommen.
Ich habe mit C++, Java, QT gearbeitet. Ich denke, mal, dass das ausreichen sollte um mit dem Buch klarzukommen, oder ?
@wulfovitch gibt es das Buch“Programming in Objective-C 2.0″ (Developer’s Library) auch in deutsch ?
Mit diesen Vorkenntnissen sollte es kein problem sein. Das Buch wäre ein wirklich guter Einstieg.
Werd es mir die Tage bestellen.
ich habe gar keine kenntnisse im programmieren. was würdet ihr mir empfehlen, zu erlernen, um später für das iphone programmieren zu können? kann man sich programmieren selbst beibringen, oder empfehlt ihr mir, lehrgänge zu besuchen.
P.S. studieren würde ich nicht noch einmal wollen
Also meiner Meinung nach kann man direkt mit Objective-C beginnen. Natürlich kann man auch in einer einfacheren Skriptsprache beginnen, da würde ich eine stark objektorientierte empfehelen (Python). Generell kann in jeder Programmiersprache begonnen werden. Den nötigen Enthusiasmus vorausgesetzt, klappt das sogar relativ gut. Nur dauert es doch ein Weilchen, bis man eine schöne Oberfläche mit viel SchnickSchnack herbeizaubert. Vor allem sollte man die Grundlagen kennen, bevor man eine solche Anwendung erstellt.
Gibt es da für Einsteiger auch direkt irgendwelche Buchempfehlungen? Mir geht es da ähnlich wie mello. Gerade “Objective-C und Cocoa Band 1: Grundlagen” von Amin Negm-Awad schneidet bei den Amazon Bewertungen ganz gut ab.
> @wulfovitch gibt es das Buch“Programming in Objective-C 2.0″
>(Developer’s Library) auch in deutsch ?
Nicht das ich wüßte, aber um Englisch lesen wirst du spätestens beim Doku lesen nicht herum kommen
@SaschaW: Wenn du noch keine Erfahrung mit Objektorientierung hast, dann würde ich auf jeden fall “Programming in Objective-C 2.0″ empfehlen… Ein Buch was ich auch sehr empfehlen kann ist der Hillegass (“Cocoa Programming for Mac OS X”). Das Buch behandelt zwar die Programmierung für Programme unter OS X, allerdings kann man das gelernte davon extrem leicht transferieren auf die iPhone Programmierung, weil die Konzepte dahinter sehr sehr ähnlich sind (die Programmiersprache ist eh die Gleiche).