Training „iOS - App-Entwicklung mit Objective C und Xcode“
Kursziel
Die Teilnehmer beherrschen nach dem 5-tägigen Kurs „iOS - Mobile Development mit Objective C und Xcode“ den Umgang mit der Xcode IDE, die Programmiersprache Objective C und die Konzepte und APIs des iOS SDK und können diese Kenntnisse praktisch zur Entwicklung von iPhone und iPad-Apps anwenden.
Termine und Anmeldung
Besuchen Sie das nächste Training „iOS - App-Entwicklung mit Objective C und Xcode“ vom 13.05. - 17.05.2013 in Hamburg! Die Teilnehmergebühr beträgt 2200 EUR zzgl. MwSt. Bis zu 6 Wochen vor Kursbeginn erhalten Sie einen Frühbucherrabatt von 10%, ab der 2. Anmeldung einen Kollegenrabatt. Fordern Sie hier alle weiteren Informationen und ein unverbindliches Angebot an:
- 13.05. - 17.05.2013, Hamburg
-
09.09. - 13.09.2013, Frankfurt am Main
10% Frühbucherrabatt bis zum 26.07.2013
Referent
Der Referent Ralf Ebert teilt mit den Schulungsteilnehmern seine Kenntnisse und Erfahrungswerte aus 3 Jahren unternehmerischer Tätigkeit als iOS-Entwickler. Er hat mehrere Apps für Mac, iPhone und iPad entwickelt und vertreibt diese erfolgreich über die Apple App Stores. Er setzt für seine Kunden iOS-Projekte um und berät diese zu iOS-Projekten. Seit 2006 gibt er sein Know-How in Schulungen für Softwareentwickler weiter, die von den Teilnehmern stets sehr gut bewertet werden.
Agenda
Überblick: iOS-Projekte in Xcode
- Wie werden iOS-Projekte mit Xcode erstellt?
- Wie sind Xcode-Projekte im Dateisystem und in der IDE strukturiert?
- Welche Tastenkürzel sind für die Verwendung von Xcode besonders wichtig?
- Was ist bei der Verwendung von Xcode insb. im Vergleich zu anderen IDEs zu beachten?
Überblick: iOS SDK
- Wie ist das iOS SDK strukturiert?
- Welche Komponenten stehen mir bei der Entwicklung zur Verfügung und was leisten diese?
- Wo finde ich Informationen und Beispiele zu zur Verfügung stehenden Klassen und Frameworks?
App-Build, Ausführen der Apps im Simulator und Geräten
- Wie werden Apps im Simulator, auf iPhones und iPads ausgeführt?
- Wie funktioniert der Build und der Signaturprozess?
- Wie spielen Zertifikate, App IDs, Device IDs und Provision Profiles zusammen und was ist bei der Einrichtung zu beachten?
- Wie lassen sich Probleme und Fehler beim Xcode-Build und beim Signieren der Anwendung untersuchen und beheben?
- Worin unterscheiden sich die Geräte und was ist bzgl. der Rückwärtskompatibilität zu älteren Geräten zu beachten?
Einführung in Objective-C
- Worin liegen die Besonderheiten der Objective-C Programmiersprache?
- Wie werden Objective-C Objekte konstruiert, wo liegt der Unterschied zwischen alloc, init und new und Convenience-Konstrukturen?
- Wie werden in Objective-C Methodenaufrufe getätigt?
- Wie werden gängige Foundation-Klassen wie NSString, NSArray und NSDictionary verwendet?
- Wie werden Klassen, Instanzvariablen und Methoden deklariert? Was gehört ins Headerfile und was in die Implementierung?
- Wie funktionieren Properties? Wann verwendet man Properties, wann Instanzvariablen?
Speicherverwaltung
- Wie funktioniert Speicherverwaltung mittels expliziter Referenzzählung?
- Wie funktioniert
ARC / Automatic Reference Counting? - Was ist bei der Speicherverwaltung mit ARC zu beachten?
Debugger und Fehlerbehebung
- Wie werden iOS-Anwendungen mit dem Xcode-Debugger und gdb/lldb debuggt?
- Wie kann man potentielle Probleme mit dem Static Analyzer von Xcode finden?
- Wie erkennt und behebt man Speicherlecks mit dem Profiler?
UIKit
- Welche Widget-Klassen stehen in UIKit zur Verfügung?
- Wie werden Widgets programmatisch und mit dem Xcode Interface Builder verwendet?
- Was ist besser - programmatisch oder IB?
- Wie werden Widgets programmatisch positioniert? Worin liegt der Unterschied zwischen Frame und Bounds?
- Wie erstelle ich Oberflächen die für unterschiedliche Displaygrößen und Rotationen geeignet sind?
- Wie erstelle ich Oberflächen, die auf iPhone und iPad gleichermassen funktionieren?
- Wie funktionieren Layouts und Cocoa Auto Layout?
Ereignisbehandlung
- Wie funktionieren Objective-C Selektoren, Protokolle, Actions und Delegates?
- Wie werden im Interface Builder erstellte Oberflächen mit dem Code verknüpft - wie funktionieren Actions und Outlets?
- Wie werden Objective-C Blocks deklariert und verwendet?
- Wie lasse ich mich von UIKit-Komponenten über Ereignisse benachrichtigen?
- Welche Gesture Recognizer stehen zur Verfügung und wie werden diese eingesetzt, um Touch-Events zu behandeln?
UIViewController und UINavigationController
- Wie spielen UIView und UIViewController zusammen?
- Wie werden Navigations-Hierarchien mittels UINavigationController strukuriert?
- Wie werden Controller im Interface Builder mittels Xcode Storyboards verknüpft?
- Wo liegen die Grenzen der Storyboards und wann ist der Einsatz sinnvoll?
- Welche Möglichkeiten bestehen, die vorgebenenen Controller-Klassen an die Optik der eigenen Anwendung anzupassen?
Tabellen mit UITableViewController
- Wie funktionieren die Klassen UITableView und UITableViewController und wie spielen diese zusammen?
- Wie wird ein UITableViewController zur Anzeige von statischen und dynamischen Daten konfiguriert?
- Was ist bei großen Datenmengen zu beachten und wie optimiert UITableViewController die Verwendung von Tabellenzellen?
- Wie werden Tabellen mit Interface Builder erstellt?
- Wie können Tabellenzellen angepasst werden?
Modale Dialoge
- Wie werden UIViewController modal angezeigt?
- Wie werden Alerts und Action Sheets verwendet, um den Benutzer eine Auswahl treffen zu lassen?
Core Data
- Wie ist das Core Data Framework aufgebaut?
- Wie werden Schemata definiert und entsprechende Klassen dafür generiert?
- Wie spielen NSManagedObjectModel, NSManagedObjectContext und NSPersistentStoreCoordinator zusammen?
- Wie werden Daten mittels NSFetchRequest abgefragt und mittels NSFetchedResultsController anzeigt?
- Wie werden Core Data Objekte erzeugt, verändert, gelöscht und gespeichert?
- Wie greift man zum Debugging auf die Datenbankdateien im Simulator und auf dem Gerät zu?
- Wie werden Code Data Datenbanken weiterentwickelt und migriert?
Kommunikation mit dem Backend
- Wie werden einfach strukturierte Daten oder Core-Data-Datenbanken mittels iCloud synchronisiert?
- Wie erfolgt die Kommunikation mit eigenen Backend-Servern per REST, JSON, XML oder SOAP Web Services?
- Wie behandelt man Fälle, in denen das Gerät offline ist?
Veröffentlichen der Anwendung
- Wie gebe ich Anwendungen vor der Veröffentlichung an Beta-Tester?
- Wie werden Anwendungen zum internen Gebrauch verteilt?
- Welche Regeln sind für die Veröffentlichung im App Store zu beachten?
- Wie kann man die für die Veröffentlichung benötigten Icons und Grafiken erstellen und einbinden?
- Wie wird das IPA gebaut und hochgeladen?
- Was sind häufige Probleme beim Veröffentlichen von Anwendungen und wie werden diese gelöst?
Einstellungen verwalten
- Wie werden Dateien aus dem Applikationsbundle geladen?
- An welchen Orten kann die Anwendung selbst Daten speichern?
- Wie werden Preference Panes für die Konfiguration der Anwendung eingebunden?
Zusammenspiel mit anderen Applikationen und Diensten
- Wie werden URLs verwendet um externe Applikationen aufzurufen?
- Wie wird eine iOS-Anwendung über URLs von anderen Anwendungen aufrufbar gemacht?
- Wie werden Facebook und Dropbox in iOS-Anwendungen integriert?
- Wie können Webseiten mittels UIWebView integriert werden? Wie lässt sich dabei Objective-C-Code mit JavaScript-Code integrieren?
- Wie wird das Adressbuch angesteuert?
- Wie werden E-Mails aus einer iOS-Anwendung heraus versendet?
- Wie werden Fotos mittels der Kamera aufgenommen?
Mehrsprachige Anwendungen
- Wie werden Texte im Code und im Interface Builder so extrahiert, dass diese übersetzt werden können?
- Wie kann Übersetzern die Arbeit erleichert werden und die Übersetzungen wieder in das Projekt integriert werden?
- Wie kann die Anwendung in verschiedenen Sprachen getestet werden?
Interface-Design
- Welche Tools sind für das Design und die Erstellung von Prototypen für iOS-Apps am Besten geeignet?
- Was ist beim Design für Touch-Oberflächen zu beachten?
- Was macht gutes Interface-Design aus?
- Welche Bedienkonzepte und Konventionen sind durch Standard-Apps und beliebte 3rd Party Apps etabliert?
- Was ist bei der Erstellung von Grafiken für iOS-Apps zu beachten?
- Wie kann die Kommunikation zwischen Anwendern, Designern und Entwicklern für iOS-Projekte gut organisiert werden?
Bibliotheken und Komponenten
- Wie können Komponenten und Standard-Bibliothken in Xcode eingebunden werden, ohne das Quelldateien manuell gemanagt werden müssen?
- Wie kann Code mittels Frameworks wiederverwendet werden?
- Welche Open Source Komponenten sind empfehlenswert?
Testen von iOS-Anwendungen
- Wie kann Detaillogik von iOS-Anwendungen mittels Unit-Tests getestet werden?
- Wie lässt sich die Oberfläche von iOS-Anwendungen testen?
- Wie lässt sich der Build und die Testausführung von iOS-Projekten mittels Continuous Integration Systemen automatisieren?
Schulungskonzept
- Angewandtes Lernen: Erlerntes Wissen wird sofort bei der Entwicklung eines durchgängigen Schulungsbeispiels gefestigt und vertieft. Dabei steht Ihnen der Referent mit Rat und Tat zur Seite.
- Individuelle Betreuung: Kleine Gruppengrößen mit max. 8 Teilnehmern ermöglichen eine optimale und individuelle Wissensvermittlung.
- Umfangreiche Schulungsunterlagen: Sie erhalten deutschsprachige Schulungsunterlagen mit ausführlichen Anleitungen und Erläuterungen. Und auch nach dem Kurs bleiben Sie am Ball: Alle Aktualisierungen des Seminarmaterials erhalten Sie zeitlich unbegrenzt und kostenfrei per PDF-Download.
Voraussetzungen iOS Schulung
Die Schulung richtet sich an Softwareentwickler und -architekten. Vorausgesetzt werden Kenntnisse der objektorientierten Programmierung.
Termine und Anmeldung
Besuchen Sie das nächste Training „iOS - App-Entwicklung mit Objective C und Xcode“ vom 13.05. - 17.05.2013 in Hamburg! Die Teilnehmergebühr beträgt 2200 EUR zzgl. MwSt. Bis zu 6 Wochen vor Kursbeginn erhalten Sie einen Frühbucherrabatt von 10%, ab der 2. Anmeldung einen Kollegenrabatt. Fordern Sie hier alle weiteren Informationen und ein unverbindliches Angebot an:
- 13.05. - 17.05.2013, Hamburg
-
09.09. - 13.09.2013, Frankfurt am Main
10% Frühbucherrabatt bis zum 26.07.2013