Schulung „iOS-11-Apps entwickeln mit Swift und Xcode 9“
Kursziel
Nach dem 5-tägigen iOS und Swift-Training sind Sie bestens vorbereitet, eigene iPhone und iPad-Apps umzusetzen:
- Beherrschen Sie die App-Programmierung in der Programmiersprache Swift 4
- Meistern Sie den Umgang mit den Frameworks des iOS 11 SDK
- Setzen Sie die Xcode 9 IDE und die Tools des SDKs effektiv ein
- Veröffentlichen Sie Apps im Apple App Store
- Lernen Sie zahlreiche Tipps & Tricks, die Ihnen den Arbeitsalltag als iOS-Entwickler erleichtern
Das umfangreiche Wissen des Schulungsleiters und die Vorgehensweise mit wohldurchdachten Beispielprojekten hat die nicht ganz einfache Materie zu einem spannenden und lehrreichen Ereignis gemacht.
Rolf Ahlborn, Referent Technische Projekte, Heise Zeitschriften Verlag
Termine
Ort | Datum | Seminargebühr | |
---|---|---|---|
Berlin | 25. - 29. Juni 2018 5 Tage | 1.980 EUR 2.200 EUR Bis 11.05. inkl. 10%Frühbucherrabatt | Weitere Informationen » |
Alle Preise zzgl. gesetzlicher MwSt.
Firmeninterner iOS-Kurs
Ich konnte mein Basiswissen zur App-Entwicklung durch die iOS Schulung optimal erweitern. Alle wichtigen Themengebiete wurden angesprochen und mit sehr guten Beispielen veranschaulicht.
Sebastian Kämpfe - Softwarearchitekt
Referent

Ralf Ebert vermittelt Ihnen im iOS Training seine Kenntnisse und Erfahrungswerte aus 5 Jahren Tätigkeit als Entwickler für OS X und iOS. Er hat mehrere Apps für Mac, iPhone und iPad konzipiert und entwickelt und vertreibt seine Apps erfolgreich über den App Store. Seit 2006 gibt er sein Know-How in Weiterbildungsveranstaltungen für Softwareentwickler weiter, die von den Teilnehmern stets ausgezeichnet bewertet werden.
Schulungsmethodik
- Angewandtes Lernen
Das erlernte Wissen wird unmittelbar bei der Umsetzung eines durchgängigen und praxisnahen Beispielprojektes vertieft. - Persönliche Betreuung
Kleine Gruppengrößen mit maximal 10 Teilnehmern ermöglichen eine optimale und individuelle Wissensvermittlung. - Deutschsprachige Schulungsunterlagen
Sie erhalten umfangreiche deutschsprachige Schulungsunterlagen mit ausführlichen Anleitungen und Erläuterungen. - Durchführungsgarantie
Mit der Anmeldebestätigung wird die Durchführung des Seminars zum bestätigten Termin garantiert. Ausschließlich bei Ereignissen höherer Gewalt oder Krankheit des Referenten erfolgt eine Terminverschiebung in Abstimmung mit den angemeldeten Teilnehmern. - Betreuung nach der Schulung
Einen Monat nach der Schulung haben Sie die Möglichkeit, Ihr aktuelles iOS-Projekt für eine Stunde per TeamViewer mit dem Referenten zu besprechen.
Voraussetzungen
Die Schulung richtet sich an Softwareentwickler und -architekten. Vorausgesetzt werden praktische Kenntnisse einer objektorientierten Programmiersprache.
Für die Schulung ist ein eigener Mac mitzubringen. Auf Anfrage kann für 35 €/Tag ein MacBook Pro zur Verfügung gestellt werden, soweit noch ausreichend Geräte zur Verfügung stehen.
Die Woche iOS-Training bei Ralf Ebert war jeden Cent wert. Die Schulung war gut strukturiert mit anschaulichen Übungsbeispielen und es wurde flexibel auf eigene Wünsche eingegangen.
Franziskus Karsunke, Systemarchitekt Stadtwerke München
Agenda
Tutorial: 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 hilfreich?
- Was ist bei der Verwendung von Xcode zu beachten?
- Welche Unterschiede zwischen Mac und PC sind zu beachten?
Überblick: iOS SDK
- Wie ist das iOS Software Development Kit aufgebaut?
- Welche Frameworks stehen zur Verfügung?
- Wo findet man Informationen und Beispiele zu zur Verfügung stehenden Klassen und Frameworks?
Ausführen von Apps im Simulator und Geräten
- Wie werden Apps im Simulator, auf iPhones und iPads ausgeführt?
- Wie spielen Zertifikate, App IDs, Device IDs und Provision Profiles zusammen und was ist bei der Einrichtung zu beachten?
- Was ist beim Testen im Simulator zu beachten?
Prototyping und UI-Design von Apps
- Welche Werkzeuge empfehlen sich für die Gestaltung von iOS Apps?
- Wie können Prototypen für die Abstimmung und Anforderungsfindung in Xcode erstellt werden?
- Welches Vorgehen ist bei paralleler Entwicklung für iOS und Android sinnvoll?
UIKit
- Welche Widget-Klassen stehen in UIKit zur Verfügung?
- Wie werden Oberflächen programmatisch erstellt?
- Wie spielen UIView und UIViewController zusammen?
- Wie werden Screens einer iPhone-App mittels UIViewController-Klassen strukturiert?
- Wie werden UIViewController in die App eingebunden?
Storyboards und Interface Builder
- Wie werden Storyboards verwendet und mit dem Xcode Interface Builder erstellt?
- Wie werden Übergänge zwischen Controllern realisiert?
- Wie werden Navigations-Hierarchien erstellt und zwischen den Screens navigiert?
- Wie spielen UINavigationController und die enthaltenen UIViewController zusammen?
- Wie werden Tabellen- und Listensichten mit Interface Builder erstellt?
Einführung in Swift
- Worin liegen die Besonderheiten der Swift-Programmiersprache?
- Welche grundlegenden Datentypen gibt es und wie werden diese verwendet?
- Wie werden in Swift Methodenaufrufe getätigt?
- Wie werden Swift-Objekte konstruiert?
- Wie werden gängige Klassen der Swift Standard Library wie String, Array und Dictionary verwendet?
Objective-C vs. Swift
- Wo liegen die Unterschiede zwischen Objective-C und Swift?
- In welchen Fällen macht die Verwendung von Objective-C Sinn?
- Was ist beim Paralleleinsatz von Objective-C und Swift zu beachten?
Swift: Klassen- und Methodendeklaration
- Wie werden Funktionen, Klassen und Methoden in Swift deklariert?
- Wie werden Eigenschaften deklariert?
- Welche Besonderheiten gibt es bei der Vererbung von Klassen in Swift?
- Welche Rolle spielt NSObject in Swift?
Storyboards: Interface Builder, Outlets und Actions
- Wann empfiehlt sich die Erstellung im Code, wann die Verwendung vom Interface Builder?
- Wie werden im Interface Builder erstellte Oberflächen mit dem Code verknüpft?
- Wie werden UI-Ereignisse behandelt?
- Wie funktionieren Actions und Outlets?
Swift: Enums und Optionale Werte
- Wie werden in Swift Enumerations-Typen deklariert und wo macht der Einsatz Sinn?
- Wie funktionieren Optionals in Swift?
- Wie können durch die Verwendung von Optionals Probleme vom Compiler erkannt werden?
- Welche Möglichkeiten gibt es, optionale Werte auszupacken und wann verwendet man welchen Mechanismus?
- Wie funktioniert das Binden von optionalen Werten mit if let?
Swift: Protokolle
- Was sind Protokolle und wozu werden sie verwendet?
- Wie werden Protokolle deklariert?
- Welche Rolle spielen Protokolle in iOS APIs?
Tabellen darstellen mit UITableViewController
- Wie wird ein UITableViewController zur Anzeige von dynamischen Daten konfiguriert?
- Was ist bei großen Datenmengen zu beachten und wie optimiert UITableViewController die Verwendung von Tabellenzellen?
Modell-View-Controller-Pattern
- Wie können Controller nach dem Modell-View-Controller-Pattern strukturiert werden?
- Wie erfolgt das Zusammenspiel zwischen den MVC-Komponenten?
Backend-Kommunikation
- Wie werden Daten von URLs geladen?
- Wie erfolgt die Kommunikation mit Backend-Servern per REST/JSON/XML?
- Welche Best Practices empfehlen sich für das Zusammenspiel zwischen Backend und iOS-Apps?
Auto Layout: Positionierung mit Layout-Constraints
- Wie erstelle ich Oberflächen für unterschiedliche Displaygrößen und Rotationen?
- Welche Arten von Layout Constraints gibt es?
- Welches Vorgehen empfiehlt sich, um Layout Constraints für komplexe Oberflächen schnell zu erstellen?
- Wie erfolgt die Unterscheidung von unterschiedlichen Gerätegrößen?
- Wie können Layout Constraints programmatisch erstellt werden und wann ist diese Vorgehensweise sinnvoll?
- Wie spielen programmatische Positionierung und Layout Constraints zusammen?
Navigation mit Storyboard Segues
- Wie kann die Verknüpfung von mehreren Controllern erfolgen?
- Wie wird das Zusammenspiel von Controllern im Storyboard und im Controller-Code strukturiert?
- Wie können Daten zwischen Controllern ausgetauscht werden?
- Welche View-Controller-Klassen können neben dem Navigations-Controller für Apps verwendet werden?
- Wie werden mehrere Screens in Tabs oder seitenweise angezeigt?
- Welche Möglichkeiten gibt es, programmatisch zwischen Controllern zu navigieren?
Swift: Extensions
- Wie können Klassen um neue Funktionalitäten erweitert werden?
- Was sind Protocol Extensions und wozu dienen sie?
Delegate-Pattern in Swift
- Wie können Controller und Komponenten von iOS zusammenspielen?
- Wie können Controller so strukturiert werden, dass diese modular und wiederverwendbar sind?
Swift Generische Typen
- Wie werden generische Typen zur Herstellung von Typsicherheit in der Swift Standard Library verwendet?
- Wie können Generics in iOS-Projekten eingesetzt werden?
Swift: Blöcke
- Was sind Blöcke und wozu werden sie verwendet?
- Wie werden in Swift Blöcke deklariert und verwendet?
- Welche Kurzschreibweisen für Blöcke gibt es und wann ist welche Variante sinnvoll?
- Wie funktionieren Closures und Captures?
- Was ist bei der Verwendung von blockbasierten Funktionalitäten in der Swift Standard Library zu beachten?
- Wie können Blöcke zur Ereignisbenachrichtigung zwischen Komponenten in iOS verwendet werden?
Hintergrundverarbeitung mit OperationQueue
- Wie werden Operationen in den Hintergrund verlagert?
- Wie können langläufige, aus mehreren Teilschritten bestehende Operationen nebenläufig ausgeführt werden?
- Was ist bei der Implementierung von nebenläufigem Code in Apps zu beachten?
- Wie funktioniert das Zusammenspiel zwischen Hintergrund-Threads und Main-Thread?
Daten asynchron laden mit URLSession
- Wie können Daten asynchron im Hintergrund von einer URL geladen werden?
- Wie erfolgt die Benachrichtigung und Aktivitätsanzeige bei Ladevorgängen im Hintergrund?
- Wie funktioniert die URLSession und welche Möglichkeiten bietet sie?
- Was ist bezüglich der Sicherheit bei der Verwendung der URLSession zu beachten?
CocoaPods
- Wie können Komponenten und Standard-Bibliothken in Xcode eingebunden werden, ohne das Quelldateien manuell gemanagt werden müssen?
- Welche Open Source Komponenten sind empfehlenswert?
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 Core Data Objekte abgefragt, 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?
Fehlerbehandlung in iOS-Apps
- Welche Möglichkeiten zur Behandlung von Fehlern in Swift gibt es?
- Wie funktioniert do-try-catch in Swift und wie werden eigene Fehler definiert?
- Wie lässt sich die Behandlung von Fehlersituationen in Controllern einer iOS-Apps realisieren?
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?
Mehrsprachige Anwendungen
- Wie werden Texte im Code und im Interface Builder so extrahiert, dass diese übersetzt werden können?
- Welche Werkzeuge empfehlen sich für das Pflegen von Übersetzungen?
- Wie werden die extrahierten Übersetzungen aktualisiert, wenn Texte im Code/Interface Builder geändert werden?
- Wie kann die Anwendung in verschiedenen Sprachen getestet werden?
Speicherverwaltung
- Wie funktioniert Speicherverwaltung mittels expliziter Referenzzählung?
- Wie funktioniert ARC / Automatic Reference Counting?
- Was ist bei der Speicherverwaltung mit ARC zu beachten?
- Wie findet und behebt man Speicherlecks?
- Wie werden Situationen, in denen der Speicher zur Neige geht, behandelt?
Veröffentlichen der Anwendung: App zum Publizieren vorbereiten, iTunes Connect, App Review
- Wie können Apps unternehmensintern verteilt werden?
- Wie können Apps an Beta-Tester verteilt werden?
- Wie werden Apps in den App Store eingestellt?
- Welche Regeln sind für die Veröffentlichung im App Store zu beachten?
- Welches sind die häufigsten Probleme beim App Store Review?
- Wie werden die für die Veröffentlichung im App Store benötigten Provisioning Profiles erstellt und verwaltet?