zurück zum Artikel

Literaturübersicht zu iOS-Programmierbüchern

Literatur

Prinzipiell gibt es mit Android und iOS derzeit nur zwei wirklich ernst zu nehmende mobile Plattformen. Letztgenannte bietet dabei ein ungleich höheres Potenzial für die Vermarktung eigener Apps, weshalb es sich für Entwickler lohnt, sich besonders mit Apples System auseinanderzusetzen. Eine Literaturübersicht hilft bei der Orientierung.

Es gibt zwar für Entwickler neben Android und iOS weitere Zielplattformen, doch hat Windows Phone 7 etwa noch keine wirkliche Marktdurchdringung. Die kommende Inkarnation von Microsofts mobilen Betriebssystem wird zwar von Analysten geschätzt, erfährt im Moment jedoch noch gravierende Designänderungen [1], sodass eine ernsthafte Aussage dazu reine Spekulation ist. Research In Motion mit BlackBerry und Nokia mit Symbian sind die Verlierer am Markt. Der eine hat das System schon aufgegeben und der andere wird vielleicht das Jahresende nicht mehr als eigenständige Firma erleben. Die weiteren Vertreter, etwa aus der Feature-Phone-Liga, seien hier nicht betrachtet, da man mit Apps für solche Systeme schlicht kein Geld verdienen kann.

Für Android sprechen zunächst die hohe Verbreitung und die niedrigen Einstiegshürden. Mehr als seinen Rechner und die kostenlose Eclipse-Entwicklungsumgebung benötigt der Android-Entwickler nicht (und wenn man MyEclipse einsetzen möchte, brennt das auch keine Löcher in die Hosentaschen). Java hat nahezu den Rang wie Pascal vor 20 Jahren – man kann davon ausgehen, dass viele schon in der Schulzeit mit der Sprache in Berührung kamen.

Einen Mac hat auf der anderen Seite nicht jeder, obwohl die Hardware nicht wirklich teuer ist (man muss nur eben einen Mac mit einem Marken-PC vergleichen). Und im Vergleich mit Java ist die Lernkurve für Apples Entwicklungsumgebung Xcode, und speziell für die hier verbreitete Programmiersprache Objective-C, deutlich steiler. Insbesondere für diejenigen Entwickler, die noch keine Erfahrung mit C/C++ oder Smalltalk haben. Ein wichtiger Punkt spricht jedoch für die iOS-Plattform – man kann mit iOS-Apps Geld verdienen. Die Bereitschaft für Apps zu bezahlen, liegt bei iOS-Nutzern deutlich höher als bei Android-Anwendern. Das mag auch etwas damit zu tun haben, dass man iOS-Apps ausschließlich über den App Store bekommt (Jailbreaks nicht betrachtet). Es gibt mehrere Millionen Apple-IDs, viele mit Bezahldaten hinterlegt, und mit der Nutzung der iTunes-Software hat sich über die Jahre eine Bezahlmentalität etabliert, die dem Android Marketplace fehlt. Alles in allem ist der Apple-Kosmos ein geschlossenes System, das ganz klar das Ziel hat, möglichst keinen seiner Kunden zu verlieren. Und das ist natürlich eine ideale Zielplattform [2] für App-Programmierer.

Zu Apples kostenlos erhältlicher Entwicklungsumgebung Xcode existiert nicht sonderlich viel Literatur. Es sei an dieser Stelle erwähnt, dass etwa Visual Studio und mit Abstrichen auch Eclipse deutlich besser in der Handhabung und Gebrauch sind, und Entwickler bei beiden IDEs aus einem umfangreichen Pool an Fachliteratur schöpfen können. Nun gibt es auf dem Mac jedoch kaum eine Alternative zu Xcode. Erste Drittanbieter rücken zwar mit ihren Produkten auf den Markt, bisher kann jedem Entwickler jedoch nur angeraten werden, Xcode zu verwenden.

Literaturübersicht I

Literaturübersicht

Wie jeder weiß, ist Objective-C Apples Haus-und-Hof-Sprache. Sei es auf dem Mac oder mobilen Geräten mit iOS, an Objective-C kommt kein App-Entwickler vorbei. Dabei ist C als Grundsprache schon lange am Markt (und die K&R-Bibel [3], benannt nach ihren beiden Autoren Brian Kerninghan und Dennis Ritchie, nebenbei gesagt für viele ältere Programmierergenerationen Pflichtlektüre gewesen). Als Entwickler wird man sich zunächst an den an Smalltalk 80 angelehnten objektorientierten Überbau gewöhnen müssen, der im Quelltext mit ungewöhnlich vielen eckigen Klammern aufwartet.

Aaron Hillegass, Mark Fenolgio
Objective-C Programming: The Big Nerd Ranch Guide
Addison-Wesley, 2011
ISBN 978-0321706287
272 Seiten, 31,95 Euro

Für einen ersten Einstig bieten sich hier verschiedene Bücher zu Objective-C an. Als Referenz gilt Aaron Hillegass' "Objective-C Programming" aus der Reihe Big Nerd Ranch Guides. Die deutsche Fassung soll laut Verlag erst Ende April erscheinen. Hillegass' Objective-C-Werk geht auf Xcode 4.2 ein (ist damit relativ aktuell), sowie auf iOS 5 und Mac OS X Lion.

Seine Bücher stechen dadurch heraus, dass sie nicht im klassischen Lehrbuchschema verfasst sind, sondern ihr Wissen dem Leser in praxisnahen Beispielen, mit nur so viel Theorie wie eben nötig, vermitteln. Der Leser muss sich jedoch, darauf weist Hillegass explizit hin, die Werke am Mac erarbeiten. Nur Lesen und ein wenig Ausprobieren reicht nicht, Hillegass empfiehlt mindestens eine Stunde (ohne Mail, Twitter und andere Ablenkungen) nur mit dem Mac und dem jeweiligen Thema des Buches. Fundierte Kenntnisse sind in Hillegass' Arbeiten selbstverständlich, hat er doch an vielen Teilen des Betriebssystems NeXTstep mitgewirkt, auf dem Mac OS X fußt.

Hillegass gilt unbestritten als Referenz, das zeigt sich nicht zuletzt an den vielen Nennungen seiner Titel im jeweiligen Literaturverzeichnis verwandter Lektüre. Die Autoren Meyer und Wichers versuchten mit Objective-C 2.0 [4] Hillegass' Standard für den deutschen Sprachraum zu übernehmen. Ihr an anderer Stelle sehr gelobtes Werk hat hier sicherlich ganze Arbeit geleistet, die Version aus dem letzten Jahr bedarf allerdings einer Überarbeitung (Stichwort Memory Management und Reference Counting).

Holger Hinzberg
Objective-C und Cocoa, Praxiseinstieg
mitp, 2011
ISBN 978-3-8266-9085-3
494 Seiten, 29,95 Euro

Auch Holger Hinzberg widmet sich mit "Objective-C und Cocoa – Praxiseinstieg" der Sprachenvermittlung für Mac OS X und iOS. Das Werk ist, ebenso wie bei Wichers und Meyers, bei mitp verlegt. Dabei geht Hinzberg ebenfalls auf die Mac-Programmierung ein. Obwohl das Kapitel zur Speicherverwaltung mit 15 Seiten recht umfangreich behandelt wird, kann es doch nicht im Entferntesten mit der Ausführlichkeit von Wichers und Meyers Werk mithalten. Dafür geht der Autor mit diversen Screenshots stärker auf das konkrete Entwickeln mit Xcode für Mac OS X und iOS ein. Die beiden anderen Autoren sparen diesen Bereich etwas aus, erreichen aber auch so eine Seitenzahl (und ein Gewicht), die sich nicht vor einem aktuellen Drachenbuch verstecken muss (es ist das Linux-Werk [5], nicht das zum Compilerbau [6] gemeint). Alles in allem ein gutes Buch, um sich in die Programmierung von iOS und OS X einzuarbeiten.

Max Seelemann
Objective-C kompakt: Ein Kurs für Umsteiger und Fortgeschrittene
dpunkt, 2011
ISBN-13: 978-3-89864-692-5
184 Seiten, 24,90 Euro

Für den dpunkt Verlag hat sich Max Seelemann das Ziel gesetzt, ein Objective-C-Werk zu schaffen, das zum einen kompakt ist (seit K&R weiß man, dass der Programmierer an sich keine langen Bücher liest) und gleichzeitig als Referenz dienen kann. Klar, die Inhalte zielen auf Umsteiger von anderen Sprachen und Fortgeschrittene ab. Seelemann hält sich nicht mit Banalitäten wie Polymorphismus, Klassen und Objekten auf – das sind Grundlagen, die er schlicht erwartet. Dafür geht der Autor detailliert auf die Sprachkonstrukte von Objective-C 2.0 ein. Neben Erklärungen etwa des Nachrichtenprinzips und Dingen wie dynamischer Typisierung und Bindung, behandelt er ausführlich das Thema Speicherverwaltung – Reference Counting, Garbage Collecting und natürlich ARC (Automatic Reference Counting als überaus gute Compilererweiterung für das Speichermanagement). Vom Umfang her zwar etwas kürzer als bei Meyer und Wichers, lässt das Kapitel aber keine Fragen unbeantwortet. "Objective-C kompakt" ist ein gut zu lesendes Buch, das ohne viel Umschweife gezielt und komprimiert die wesentlichen Sachverhalte sauber darstellt. Es fällt angenehm auf, dass der Autor zum Teil auch über den Tellerrand schaut (etwa bei der Abwägung des Nichtvorhandenseins von GC auf iOS-Geräten, Stichwort Stromverbrauch). Das abschließende Literaturverzeichnis (allerdings nur Weblinks, keine Bücher) ist interessant.

Literaturübersicht II

"Apps entwickeln für iPhone und iPad", von Rodewig und Wagner für Galileo Computing, ist ein ansprechendes Buch, das neben den obligatorischen Kurzeinführungen in Objective-C und OOP im Allgemeinen auch ganz klar die mit iOS 5 eingeführten Neuerungen wie ARC, Storyboards oder Segues (Übergänge bei View-Controllern) vorstellt.

Klaus M. Rodewig, Clemens Wagner
Apps entwickeln für iPhone und iPad
Galileo Computing, 2012
ISBN 978-3-8363-1463-6
516 Seiten + DVD, 34,90 Euro

Mehrere "nützliche" Apps (also nicht die <I>Hello-World<I>-Fingerübungen) werden präsentiert und sollten vom Leser durchgearbeitet werden. Natürlich erfährt der Leser auch, wie die Apps auf ein Entwicklergerät kommen. Zudem gibt es Anmerkungen zum Troubleshooting bei Zertifikatsproblemen, Angaben zum Veröffentlichen im App Store, inklusive Hinweis auf die "App Store Guidelines", sowie Nützliches zu Ad-Hoc-Distributionen. Das Buch erinnert in seiner Art an Stäubles oder Saduns Werk [7], die zu Redaktionsschluss aber beide nicht in aktueller Version vorliegen (Saduns Titel ist für Mitte Mai und Stäubles für Ende April 2012 avisiert).

Norbert Usadel
Mit Xcode 4.2 und Objective-C fürs iPhone programmieren
Franzis, 2011
ISBN 978-3-645-60137-5
256 Seiten, 30 Euro

Die gleiche Richtung schlägt Norbert Usadels Werk "Mit Xcode 4.2 und Objective-C fürs iPhone programmieren" aus dem Franzis-Verlag ein. Die Schlagwörter Xcode 4.2 und iOS 5 prangen werbewirksam auf dem Cover und es werden aktuelle Themen wie ARC und Storyboards angesprochen. Wie der Autor bemerkt, kam Xcode 4.2 noch während der Entstehung des Buches auf den Markt. Dass er dann aber den Absatz zu Xcode 4.02, dessen Preis für Nichtentwickler und die Dauer des Downloads bei der Größe von über 4 GByte nicht weggelassen hat, erscheint ungeschickt. Zumal man sich über zeitliche Aussagen zu Downloads zurückhalten sollte, denn es ist schon ein Unterschied, ob eine DSL-Verbindung zum Einsatz kommt oder ob man direkt über den Unirechner am deutschen Backbone hängt. Trotz alledem ist das Buch gut zu lesen und der Autor hat eine Website für Listings und Errata eingerichtet. Das ist in diesem Fall praktisch, da im Gegensatz zum bei Galileo erschienenen Titel hier keine DVD beiliegt. Das Buch eignet sich gut für Einsteiger in die App-Programmierung, denn es geht nicht zu sehr in die Tiefe. Anders als bei Rodewig und Wagner finden sich allerdings keine Ausführungen zu Entwurfsmustern wie MVC und Key-Value-Observing.

Wie immer bei Allorund-Titeln, also solchen Werken, die sich der Einführung in Objective-C, dem iOS SDK und Xcode widmen, ist es so, dass diese Titel schnell und stark altern. Gerade an Xcode ist das gut zu erkennen. Während diese Zeilen entstehen, ist Xcode 4.4 für zahlende Developer als Preview [8] schon zu haben, und Entwickler können die neuen Funktionen schon jetzt ausprobieren. Spätestens mit der kommenden Mac-OS-X-Version [9] wird Xcode 4.4 kommen, wohl vor Windows 8. Das bedeutet für diese Bücher natürlich, dass dann viele Screenshots nicht mehr richtig sind, oder neue Features fehlen. Ein SDK dagegen wird in der Regel nur alle 12 Monate auf eine neue Version angehoben (kleinere Updates nicht betrachtet).

Joe Conway, Aaron Hillegass
iOS-Programmierung für iPhone und iPad, Der Big Nerd Ranch-Guide
Addison-Wesley, 2012
ISBN 978-3-8273-3015-4
630 Seiten, 49,80 Euro

Für "iOS-Programmierung für iPhone und iPad" hat sich Aaron Hillegass Joe Conway geholt, mit dem er zusammen auf der Ranch Kurse gibt. Die amerikanische Ausgabe stammt aus dem Sommer 2011, zum Jahreswechsel kam die deutsche Ausgabe auf den Buchmarkt (auf Grundlage der amerikanischen zweiten Auflage). Leider hat man die Zeit nicht genutzt, um etwa ARC oder Storyboards einfließen zu lassen. Dennoch bürgt Hillegass für Qualität in der Mac- und iOS-Welt und daher bleibt das Werk uneingeschränkt zu empfehlen. Nicht allein aufgrund der schon beschriebenen Lehrmethode hebt sich der Titel erfrischend von vielen anderen ab (Wichers und Meyers Kapitel zur Speicherverwaltung bleibt allerdings unübertroffen). In jedem Fall muss der Hinweis kommen, dass sich das Buch nicht für Einsteiger eignet. Eine ausreichende Programmiererfahrung und die Bereitschaft, sich in das Thema einzuarbeiten, sind Voraussetzung für ein Verständnis des Titels. Die Unterschiede zu iOS 5 lassen sich dann über Apples nach wie vor gute Dokumentation aus dem Developer Center erarbeiten.

Literaturübersicht III

Jonathan "NerveGas" Zdziarski [10] ist der Community als ausgewiesener Experte für Sicherheitsfragen rund um iOS bekannt, und veröffentlichte auch zahlreiche [11] Titel [12] zur die iOS-Programmierung. Während gewöhnliche Werke zum Thema ihren Fokus auf das Erlernen der Sprachfeatures und den adäquaten Umgang mit dem iOS-SDK legen, will Zdziarski mit "Hacking and Securing iOS Applications" den Blick auf Sicherheitslücken und mögliche Probleme beim Umgang mit iOS legen. Man stelle sich vor, eine App aus dem firmeninternen App-Store landet auf einem gejailbreakten iOS-Gerät, und wichtige Firmendaten kommen abhanden – spätestens dann wird die unangenehme Frage gestellt, warum denn die App die für Jailbreaks wichtige Cydia-Plattform nicht erkannt hat.

Jonathan Zdziarski
Hacking and Securing iOS Applications
O'Reily, 2012
ISBN 978-1-449-31874-1
338 Seiten, 39,99 US-Dollar

Mit Zdziarskis Arbeit sollen Entwickler lernen, solche und ähnliche Bedrohungen zu verhindern. Das setzt jedoch voraus, dass man über sattelfeste iOS-Programmiererfahrung verfügt, um sinnvolle Erkenntnisse für die eigene Arbeit gewinnen zu können. Dafür geht das Buch weit über das schlichte Erkennen eines iOS-Geräts mit Jailbreak hinaus, wie die Themen zu "Decrypting the Keychain" oder "Payload als Shared Object für Objective-C" belegen. Auch gute UNIX-Kenntnisse und ein selbstverständlicher Umgang mit dem Terminal sind unerlässlich. Inhaltlich gehört Zdziarskis Werk damit nicht zu den Büchern, die man mal so nebenbei liest.

Daniel H. Steinberg, Ercíc T. Freeman
iPad-Programmierung
O'Reilly, 2011
ISBN 978-3-8972-578-8
256 Seiten, 34,90 Euro

Nun ist die iPhone-Programmierung im Allgemeinen das eine, heutzutage sind jedoch auch Plus-Apps gefragt, universelle Anwendungen für das iPhone und das iPad gleichermaßen. Hierzu gibt es entsprechende Literatur, etwa Lars Schultens Übersetzung "iPad-Programmierung" der beiden Autoren Steinberg und Freeman (im Original bei den Pragmatic Programmers erschienen. Die deutsche Übersetzung ist über O'Reilly erhältlich und lässt sich gut lesen. Neben Grundlagen wie der Abgrenzung zwischen iPhone, iPad, iPod und Laptop und weiteren Details für Entwickler (sogar der Eurobetrag für die Developer-Lizenz ist angegeben), geht es in dem Titel um die angesprochenen Universal-Apps. Handwerkszeug wie das MVC-Pattern und angepasste Tastaturen sowie fortgeschrittene Themen wie das Ansteuern externer Anzeigegeräte, folgen. Leider beruht das Werk noch auf dem SDK in der Version 4.3. Wie aber auch bei Hilleagass, muss das nicht zwingend hinderlich sein, die Unterschiede kann sich der Entwickler anhand Apples Dokumentation erarbeiten.

Dan Pilone, Tracey Pilone
Head First iPhone & iPad Development
O'Reilly, 2011
ISBN 978-1-449-38782-2
634 Seiten, 49,99 US-Dollar

Wer kennt sie nicht, die Head-First-Reihe von O'Reilly? Die über 600 Seiten umfassende iPhone- und iPad-Version hat das Paar Dan und Tracy Pilone verfasst (und es ist nicht deren erster Head-First-Titel). Sie wurde bereits 2011 veröffentlicht, somit ist klar, dass man Dinge wie ARC und Storyboards hier nicht findet. Dennoch ist das Werk schön zu lesen und vermittelt vieles so, wie man es etwa von Kinderbüchern her kennt. Das ist in keiner Weise abwertend gemeint – das Thema wird über unterschiedliche Kanäle nahegebracht, manchmal als Comic oder Bildergeschichte. Das Lesen macht Spaß, und wie bei vielen amerikanischen Autoren sind die Texte angenehm zu lesen, locker formuliert und mit Witz gespickt. Unter akademischen Gesichtspunkten mag nicht jede Behauptung haltbar sein, aber hier geht es um Softwareerstellung und nicht um die mathematische Beweisführung, dass ein Programm mit einer speziellen Vorbedingung korrekt arbeitet. Neben klassischen Mobile Pattern wie MVC erhält der Leser eine Einführung in Objective-C, das Rüstzeug für den Umgang mit der Xcode-IDE und Details zum iPad-UI sowie dessen Unterschiede zum iPhone/iPod touch.

Axel Katerbau, Dirk Theisen
Apps entwickeln für iPhone und iPad
Galileo Computing, 2012
ISBN 978-3-8362-1859-7
Videotraining (8 Stunden), 39,90 Euro

Wer die elektronische Lehrmethode bevorzugt, der möge sich Katerbaus und Theisens "Apps entwickeln für iPhone und iPad" anschauen. Mit 8 Stunden Videomaterial wird vieles für einen Einstieg in die iOS-Programmierung Nötige vermittelt. Wie im korrespondierenden Galileo-Werk von Rodewig und Wagner sind die Neuerungen in iOS 5 (ARC, Storyboards) mit dabei, ebenso Grundlagen zu Objective-C, Cocoa Touch und der IDE. Auch das Thema App Store, mit seinen Stolperstellen Zertifikate und Provisioning Profiles, kommt vor. Da die Autoren den Fokus auf Einzelentwickler legen, wie im Übrigen fast alle der hier vorgestellten Werke, findet sich nichts zu Enterprise-Lizenzen, Ad-hoc-Distributionen und dem Aufsetzen eines firmeninternen App-Stores – für viele Leser dürfte das aber nicht von Belang sein. Ob der Titel wirklich ein "Training für Ihre nächste Killer-App!" ist, wie auf dem Cover werbewirksam vermerkt, sei dahingestellt. Zumal es für solide programmierte Apps zusätzlich einer nicht unerheblichen Arbeit für das Design bedarf, die meist nur versierte Grafiker erledigen können. Dennoch ist das Video-Training sehr gut, denn es illustriert anschaulich, "wie es geht" und legt die Grundlagen für einen guten App-Programmierer.

James Turner
Enterprise iOS Applications
O'Reilly, 2012
ISBN 978-1-449-31148-3
100 Seiten, 24,99 US-Dollar

"Enterprise iOS Applications" von James Turner ist so ein Buch, das viele, vielleicht sogar sehr viele App-Entwickler nie lesen werden. Es führt auch keineswegs in die App-Programmierung ein und lehrt weder etwas zu Xcode noch zu Objective-C. Die gut 100 Seiten kleine Fibel bietet dennoch etwas, das sie interessant für die Gruppe derjenigen Entwickler macht, die im Team im Unternehmen Enterprise-Software schreiben und das auch für ihre App-Programmierung so halten wollen. Diese Klientel nutzt CI-Systeme wie Hudson [13]/Jenkins [m], beherrscht Ant und Maven ebenso wie Unit-Testing und den Enterprise-Service-Bus (SOAP, REST, AJAX und JSON). All das findet sich in kompakter Form im bei O'Reilly veröffentlichten Werk wieder. Hilfreich sind die Ausführungen zur Integration der iOS-Entwicklung in unternehmensspezifische Build-Prozesse. Dazu gibt es Ausführungen zur Veröffentlichung von Apps im App Store, der Ad-hoc-Distribution für Testzwecke und zu Veröffentlichungen mit einer Enterprise-Lizenz. Letztere ist dann wichtig, wenn man seinen eigenen App-Store aufbauen möchte und – unabhängig von Apples Zulassungsprozedere – dann zu launchen, wenn es aus Unternehmenssicht passt. Viele Themen werden nur angerissen, so dass gute Vorkenntnisse der iOS-Entwicklung sowie der Entwicklungsprozesse in Unternehmen (CI, Unit-Tests, Code Repositories) Voraussetzung sind. Mit seiner Ausrichtung ist der Titel zurzeit konkurrenzlos. Das mag sich eines Tages ändern, wenn die methodische App-Entwicklung stärker in die Unternehmensprozesse der Anwendungsentwicklung integriert ist und mehr Entwickler ihre Apps für Unternehmenszwecke intern programmieren. (rl [14])

Karsten Kisser


URL dieses Artikels:
http://www.heise.de/-1500612

Links in diesem Artikel:
[1] https://www.heise.de/meldung/Bericht-Windows-Phone-wird-umgekrempelt-1427546.html
[2] https://www.heise.de/meldung/Marktforscher-Apple-groesster-Smartphone-Hersteller-2011-1434905.html
[3] http://en.wikipedia.org/wiki/The_C_Programming_Language
[4] https://www.heise.de/developer/artikel/Objective-C-2-0-1315715.html
[5] http://www.addison-wesley.de/main/main.asp?page=deutsch%2Fbookdetails&productid=187508
[6] http://www.oldenbourg-verlag.de/wissenschaftsverlag/compilerbau/9783486252941
[7] https://www.heise.de/developer/artikel/Buecher-zum-Programmieren-fuer-iPhone-Co-885229.html
[8] https://www.heise.de/meldung/Xcode-4-3-unterstuetzt-Gatekeeper-Zertifikate-1435940.html
[9] https://www.heise.de/meldung/Apple-veroeffentlicht-Vorabversion-von-Mac-OS-X-10-8-1435867.html
[10] http://www.zdziarski.com/blog/
[11] https://www.heise.de/developer/artikel/iPhone-SDK-Application-Development-227218.html
[12] https://www.heise.de/developer/artikel/iPhone-Open-Application-Development-227148.html
[13] http://www.heise.de/developer/artikel/Continuous-Integration-mit-Hudson-1202370.html
[14] mailto:rl@ix.de