2. Teil
Karins Lernstruktur zur iOS-Programmierung
1. Stufe Kennenlernen
1.1. Start Cocoa und Xcode
Hier kann ich nur das Buch "Mac-Programmierung für Kids" empfehlen. Das Buch bietet dem Anfänger ohne irgendwelche Kenntnisse einen sehr guten Einstieg in die Programmierung auf einem Mac und man kann sehr preiswert feststellen, ob man diesem Weg weiter verfolgen möchte oder nicht. Erste gute und durchaus auch praxistaugliche Programme für den Mac gibt es dabei auch.
- Empfehlung - : Holger Hinzberg: Mac-Programmierung für Kids. ISBN-13: 978-3826686641. 24,95 Euro
Dauer: 5 bis 6 Wochen bei 2 bis 3 Stunden täglich Arbeitsaufwand. Davon entfallen am Anfang einige Stunden im Umdenken auf das neue SDK. Es gibt scheinbar derzeit noch keine Bücher, die auf dem neuen SDK basieren.
- Empfehlung - : Xcode 4 Transition Guide. PDF speichern und ausdrucken:
http://developer.apple.com/library/...ransitionGuide/Introduction/Introduction.html]
Konventionen beim Programmieren:
- Empfehlung -: http://developer.apple.com/library/...eptual/CodingGuidelines/CodingGuidelines.html
Richtlinien von Apple.
1.2. Arbeiten mit Xcode
Bezüglich Xcode 4 ist natürlich die Apple-Dokumentation von zentraler Bedeutung:
Xcode 4 Transition Guide. PDF speichern und ausdrucken:
- Empfehlung - : http://developer.apple.com/library/...ransitionGuide/Introduction/Introduction.html
1.2.1. Weitere Erklärungen und Unterschiede zu Xcode 3.x
Xcode von NULL auf Hundert: Folge #065: Hello World in Xcode 4. Video 13:52 Minuten.
- Empfehlung - Ein HelloWorld-Projekt am Beispiel von Xcode 4.
Xcode von NULL auf Hundert: Folge #065: Xcode4 GM. Video 52:30 Minuten.
- Empfehlung - : Sehr geschwätzig, aber es werden sehr gut die Neuerungen aufgezeigt.
2. Stufe "Objective-C"
Ohne die Sprache geht es überhaupt nicht und nachdem man in Stufe 1 schon ziemlich viel dazu kennengelernt hat, dabei Beispiele programmieren und auch schon die eigene kleine Anwendung programmiert hat, muss man an dieser Stelle "Theorie" büffeln und kann diese nun problemlos ausprobieren. Man weiß ja bereits ganz gut, wie man Xcode einsetzt, den Debugger kann man auch rudimentär nutzen und man muss keine Zeit mehr aufwenden, um auch noch Xcode bedienen zu lernen.
2.1. Sprachelemente
Guter Einstieg mit Negm-Awad und Kochan, siehe 2.2. möglich.
2.2. Klassen und Klassenobjekte, Methoden: Zentraler Bestandteil.
- Empfehlung - : Amin Negm-Awad: Objective-C und Cocoa. Band 1: Grundlagen. 49,95 Euro. Seite 20 – 29
Gute, verständliche Erklärung.
- Empfehlung - : Stephen G. Kochan: Objective-C 2.0. Anwendungen entwickeln für Mac und iPhone. ISBN 978-3-8273-3053-6. Seite 47 + 50
Guter Spagat zwischen einfacher Erklärung und Beispielcode.
Mein Tipp: Die beiden genannten Bücher quasi parallel abarbeiten.
Start mit Kochan, er erklärt verständlicher und unmittelbar mit Negm-Awad folgen, er erklärt an der Praxis detaillierter, plaudert aber auch gerne mal übers Ziel hinaus und überfordert mit seinem profunden Wissen an der Stelle den Newbie mit erst einmal nicht relevanten Informationen. Durch Kochan weiß man aber, was einem erwartet und kann dann die Feinheit bei Negm-Awad goutieren.
2.3. Objektorientierung
Sehr guter Ansatz:
- Empfehlung - : Objective-C 2.0 – Von den Grundlagen bis zur professionellen Entwicklung. – 8 Stunden Videotraining. Addison-Wesley. 44,49 Euro.
2.2. Einstieg in die objektorientierte Programmierung und dort: 2.2.1. Einführung in die objektorientierte Programmierung und das Klassen-Konzept.
- Empfehlung - : S. Meyer, T. Wichers: Objective-C 2.0. Programmierung für Max OS X und iPhone. ISBN 978-3-8266-9132-4. 2. Auflage 2011. 39.39 Euro. Ab Seite 35: "Objekte und Klassen".
"Kurze Einführung in die objektorientierte Programmierung" erstreckt sich über knapp 20 Seiten und ist einfach nur grandios in der Verständlichkeit. Der Rest des altersschwachen Werks ist Mittelmaß.
- Empfehlung - : Klaus M. Rodewig: Objective-C und Cocoa. Programmieren unter Mac OS X. ISBN 3-908497-20-5. 39,95 Euro. Ab Seite: 92.
3. Stufe "iOS"
Da bedarf es dringend der Strukturierung, die bis dato noch nicht ausreichend klar ersichtlich wurde.
Ein erster Versuch einen Teil der Kernbereiche zu ermitteln:
3.1. MVC Model View Controller
Zentrales Software-Pattern.
Gute erste Einführung mit einigem an doch recht schwer für den Newbie zu verstehenden Informationen:
- Empfehlung - : Buck, Yacktman: Cocoa Design Patterns für Mac und iPhone. ISBN 978-3-8266-5054-3. 39,95 Euro. Seiten 29 – 44 und 51 + 56.
Kurz und knapp und trotzdem sehr gut verständlich ist diese Erklärung "Model View Controller" von cocoalab.com:
3.2. Speicherverwaltung
Diese wird bei iOS wohl manuell vom Programmierer verwaltet und somit handelt es sich hierbei um ein zentrales Thema, welches nach einem ersten Kennenlernen der iOS-Programmierung sofort angegangen werden sollte.
Allgemein gehaltener Vortrag über Speicher unter Cocoa aber durchaus nützlich für die iOS-Programmierung "Macoon-Vortrag":
- Empfehlung - : http://macoun.de/?page_id=533
Besonders der Block "Reference Counting" ab 27:50 sollte angesehen werden.
3.2.1. Formale Logik
Warum und für welche Objekte ist man eigentlich verantwortlich?
- Empfehlung - : Dr. Dirk Koller. iPhone-Apps entwickeln. ISBN 978-3-645-600001-9. 30 Euro. Seite 63 – Seite 69.
Gute, verständliche Einführung, die hilft, zu verstehen worum es bei Memory-Management geht.
Wirr aber wer es mag findet manch nützliche Informationen hier. Besonders die Property-Erklärung ist sehr gut:
- Empfehlung - : Dan und Tracey Pilone: Head First iPhone Development. ISBN: 978-0-596-80354-4. 31,95 Euro. Seiten 96 – 105
3.2.2. Praxis und weitere Informationen
Gute Einführung mit Beispielen und einer informativen Grafik findet sich in der Wiki des OSX-Entwicklerforums:
"Retain", "Release" und "Autorelease": Schöne und sehr gut nachvollziehbare Erklärung von den Machern "Xcode von NULL auf Hundert":
- Empfehlung - : http://www.x02100.de/blog/Retain_Release_und_Autorelease.html?categories=grundlagen
Properties" und das Variablenhandling erledigen die Propertymethoden:
- Empfehlung - : http://www.x02100.de/f.html?categories=grundlagen
Die wohl verständlichste Beschreibung zu Properties findet sich hier:
-Empfehlung-: Markus Stäuble: Programmieren fürs iPhone. Seite 243 – 247.
3.2.3. Regeln
Was fordert Apple?
Memory Management Programming Guide – Performance. PDF speichern und ausdrucken.
- Empfehlung - : http://developer.apple.com/library/...onceptual/MemoryMgmt/Articles/MemoryMgmt.html
Umfassende, gut verständliche und kostenfreie Einführung: Franz Bruckhoff. Speichermanagement in iOS:
- Empfehlung - :
http://www.blogging-it.com/wp-content/uploads/2011/04/eBook-Speichermanagement-in-iOS.pdf
3.3. Views, Viewhierarchie
So wie ich das mitbekommen habe, Kernelement einer jeden iOS-Programmierung. Konzept, Aufbau und Verwaltung wären hier meine Stichworte.
3.3.1. Formaler Verständnisaufbau
Die Benutzerschnittstelle einer Anwendung ist von zentraler Bedeutung und was ist nun Window, View oder gar die Wurzel des ganzen?
- Empfehlung - : Holger Frank: iPhone 4 - & iPad-Programmierung. ISBN 978-3-8158-3034-5. Seiten 172 – 176.
View Controller Programming Guide for iOS.
- Empfehlung - :
Speichern und drucken!
3.3.2. UIView
3.3.3. UIWindow
3.3.4. UIViewController
3.3.5. UINavigationController, UITabBarController, Tabellencontroller etc.
Informationen von Apple zum Thema "TableView" finden sich im "Table View Programming Guide for iOS":
- Empfehlung - : http://developer.apple.com/library/...leViewAndDataModel/TableViewAndDataModel.html
3.4. Interfacebuilder
Formales Verständnis. Wofür, Aufbau und Nutzung.
Xcode 4 Transition Guide. PDF speichern und ausdrucken:
- Empfehlung - : http://developer.apple.com/library/...ransitionGuide/Introduction/Introduction.html
3.5 Steuerelemente
Wie werden Sie eingebunden, Actions und Outlets.
3.5.1. Die Klasse UIControl
3.5.2. Steuerelemente im IB; Steuerelemente programmatisch erzeugen