Rezension: Programming iOS 6, 3rd Edition - Matt Neuburg

Programming iOS 6, 3rd Edition
Fundamentals of iPhone, iPad, and iPod touch Development
By Matt Neuburg
Publisher: O'Reilly Media
Released: February 2013
Pages: 1186
ISBN: 978-1-4493-6576-9

Bei diesem Buch zu iOS wird so ziemlich jeder Bereich angesprochen, der mit iOS-Programmierung zu tun hat. Im ersten Teil des Buches werden die Grundlagen der Sprache von Objective-C behandelt. Los geht es mit einer Einführung in C. Gefolgt von den Grundlagen der Objektorientierung und den Konzepten hinter Objektive-C (Messages, Key-Value-Coding, Properties...).

Im zweiten Teil wird die Benutzung von Xcode beschrieben. D.h. das Anlegen von neuen Projekten, die Verwendung von Nibs/Xibs und die Benutzung der Apple-Dokumentation. Außerdem werden eine Reihe von zusätzlicher Features von Xcode vorgestellt. Der Autor hat das unter dem Titel "Life-Cycle eines Projekts" zusammengefasst. Darunter fallen beispielsweise Unit-Tests, Code-Analyse, Instruments, der Simulator, Versionskontrolle, Bereitstellen der App im App Store und Debugging.

Der dritte Teil behandelt Cocoa. Es werden Kategorien, Protokolle, Cocoa-Events, Speichermanagement und Design Pattern, wie MVC beschrieben. Außerdem werden die Themen Properties, Key-Value-Coding und Memory-Management aus Teil 1 vertieft.

Im vierten Teil geht es um Views. Dabei werden Views allgemein vorgestellt und anschließend wird beschrieben, wie man in Views zeichnet, Layers verwendet, Animationen in Anwendungen einbaut und auf Touch-Events reagiert.

Im fünften Teil erklärt der Autor, wie die Verbindung zwischen den Views und den View-Controllern hergestellt werden. Er stellt dabei verschiedenen Views (TableView, ScrollView, WebView, ...) vor und erklärt, wie diese in Verbindung mit den Controllern verwendet werden. Außerdem werden eine Reihe von Controls und die Verwendung von Text erklärt.

Im sechsten Teil wird eine Auswahl von Frameworks vorgestellt, die Apple dem Entwickler bereitstellt. Beispielsweise werden Themen, wie Audio, Video, Foto, Adressbuch, Kalender, Mail, Maps und Sensoren behandelt.

Im letzten Teil des Buches werden verschiedenen Konzepte zur Persistierung (User Default, iCloud, SQLite, CoreData), Netzwerk-Kommunikation (HTTP, Bonjour, Push- Notifications) und Threads erklärt. Außerdem wird noch der Undo-Manager vorgestellt.

Generell kann man sagen, dass man in dem Buch eine Menge Informationen zu dem Thema iOS-Programmierung findet. Bei der Menge von Stoff, muss aber auch klar sein, dass die meisten Themen nicht allzu tief behandelt werden können. Ich denke, dass es kein Buch ist, welches man von vorne bis hinter durchliest. Ich finde es allerdings sehr nützlich um mal schnell etwas nachzuschlagen. Beispielsweise, wenn man sich nochmal in Erinnerung rufen möchte, wie das mit Layern und Animationen war.

Außerdem bekommt man einen guten Überblick, welche Themen in Bezug auf iOS-Programmierung wichtig sein. D.h. man kann das entsprechende Kapitel lesen, hat dann ein gewisses Grundverständnis und kann sich den Rest des Wissens im Internet zusammensuchen.

Was meiner Meinung nach ein bisschen zu kurz gekommen ist, das ist das Thema CoreData. Aber, wie schon gesagt, kann so ein Buch, was den Anspruch hat, alles mal anzusprechen, nicht jedes Thema bis ins Kleinste beschreiben.