Swift 2.2 und iOS9 - App Entwicklung für iPhone und iPad

Lerne, wie Du iOS-Apps mit Swift 2 und Xcode 7 programmierst. Umfassender Online-Kurs mit 28 Stunden Inhalt und über 7.400 Teilnehmern auf Udemy.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

Dieser Kurs bietet eine umfassende Einführung in die iOS App Entwicklung, inklusive praktischer Projekte und dem Umgang mit verschiedenen Frameworks. Du lernst von Grund auf, wie man Apps programmiert und sie erfolgreich im App Store einreicht—und das alles auf eine leicht verständliche Art!

Key Points

  • Lerne, Apps für Apple-Geräte zu programmieren.
  • Entwickle mit Swift 2 und Xcode 7.
  • Inhalte über RESTful APIs, CoreData und SpriteKit.
  • Erhalte ein kostenloses Swift Cheatsheet.
  • Erstelle adaptive Interfaces mit SizeClasses.

Learning Outcomes

  • Fähigkeit, Apps mit Xcode und Swift 2 zu entwickeln.
  • Verständnis für die Nutzung von RESTful APIs und JSON.
  • Kenntnisse über CoreData zur persistenten Datenspeicherung.
  • Erfahrung im Design adaptiver Benutzeroberflächen mit SizeClasses.
  • Kompetenz im Umgang mit Anbieter von Push-Benachrichtigungen.

About This Course

Programmiere Apps für Geräte von Apple und stelle sie in den App Store. Lerne alles über iOS 9, Swift 2 und Xcode 7!

Achtung: iOS9 und Swift2.2 sind nicht mehr aktuell, die Beispiele funktionieren aber mit kleineren Anpassungen (fast immer Xcode Empfehlungen verfügbar) weiterhin.

Dieser Online-Kurs ist mit 28 Stunden Inhalt einer der umfassendsten Referenzen für die iOS App Entwicklung im deutschsprachigen Markt. Mit über 7.400 Teilnehmern gehört er mit zu den erfolgreichsten Kursen auf Udemy! Kursteilnehmer bekommen auch ein Swift Cheatsheet (Swift Grundlagen) kostenlos mit dazu.

Du lernst die unterschiedlichsten Bereiche von iOS kennen und lernst, wie Du mit Swift auch umfangreichere Projekte realisierst. Dabei bleiben aber natürlich auch Einsteiger nicht auf der Strecke. Die erste App legt die Grundlagen rund um Xcode, iOS-Entwicklung und das AutoLayout. Die weiteren Apps führen Dich in immer mehr Klassen, Bibliotheken und Frameworks ein.

Zusätzlich gibt es 3 Bonuskapitel zu folgenden Themen:

  • Unit-Testing mit Xcode

  • Versionsverwaltung mit Git

  • Apps im AppStore einreichen


Details zu den einzelnen Kursthemen:

**Xcode & Autolayout Grundlagen**

In der erste App stehen Grundlagen rund um Xcode und iOS im Vordergrund. Als Einsteiger lernst Du die Arbeit mit dem Cocoa Touch Framework kennen und nutzt IBOutlets und IBActions. Auch als fortgeschrittener findest Du mit AutoLayout Informationen zu einem wichtiges Thema.

**UITableView & Segue Grundlagen**

Die RezepteApp führt Dich in in die UITableView ein. Du definierst eine eigene UITableViewDataSource sowie einen UITableViewDelegate. Die Protokolle werden implementiert und im Storyboard eine zusätzlich View angelegt. Die wird über Segue erreichbar gemacht. Außerdem definieren wir einDatamodel, über das Rezepte in der App repräsentiert werden.

**UICollectionView und adaptive Interface mit SizeClasses**

Der ImageViewer basiert auf der Klasse UICollectionView. Du lernst sie zu nutzen und über die UICollectionViewDataSource und UICollectionViewDelegateProtokolle anzubinden. Ebenso sind UIImage und die UIImageView die Basis zur Darstellung von Bildern. Gemeinsam erstellen wir dafür eine angepasste UICollectionViewCell. Ein wichtiges Thema sind die SizeClasses in iOS. Wir erstellen für den ImageViewer ein adaptives Layout, dass für iPad und iPhones gesondert optimiert wird. Dazu nutzen wir Traitcollections.

**RESTful APIs, JSON, Grand Central Dispatch und NSOperationQueue**

Apps bekommen eine ganz neue Dimension, wenn sie Daten aus dem Netz verarbeiten. Ein beliebter Weg sind RESTful APIs, die zum Beispiel Daten imJSON-Format zurückgeben. Im SynonyMaster rufen wir von openthesaurus Synonyme für eingegebene Wörter ab. Dabei lernst Du die asynchrone Datenverarbeitung kennen. Wir nutzen Grand Central Dispatch (GCD) sowie die NSOperationQueue. Mit NSJSONSerialization verarbeiten wir schließlich die Antwortdaten. Die Hintergrundaktivität zeigen wir mit einer UIActivitiyIndicatorView an.

**CoreData**

Die Einkaufsliste steht voll und ganz im Zeichen von CoreData. Du lernst am Beispiel einer App für den Einkauf Daten persistent zu speichern. Wir erstellen eine Verwaltung für Einkaufslisten, auf denen jeweils mehrere Produkte gespeichert werden können. Dazu legen wir die Entitäten an, erzeugenManagedObjects, implementieren die typischen CRUD-Aktionen (Create, Update, Remove) und verwenden Relationen. Außerdem kommt ein Bridging-Header zum Einsatz und Du legst über Closures eigene Completion-Handler fest.

**CADisplayLink, NSUserDefaults und diverse UI-Elemente**

Die TimerApp nutzt die Klasse CADisplayLink, um einen Timer zu realisieren. Er kann gestoppt, pausiert und zurückgesetzt werden. Außerdem nutzen wir verschiedene UIElemente wie die UIPickerView inkl. entsprechender UIPickerViewDataSource. Darüber hinaus kommen UIStepper und dieUIProgressView zum Einsatz. In den NSUserDefaults speichern wir die aktuelle Timereinstellung und benachrichtigen den Benutzer nach Ablauf mit einem UIAlertController.

**SpriteKit**

Der Würfelbecher ist ein Beispiel für SpriteKit. Du bekommst einen Überblick über das Framework und lernst den Zusammenhang zwischenGameScene, Nodes und Actions kennen. Außerdem verwenden wir die Schwerkraft, legen eigene Nodes bei Berührung an (Würfel in den Becher) und starten wenn der Benutzer sein Gerät schüttelt (MotionShake Events) das Würfeln. Das Ergebnis blendest Du in einer neuen GameScene ein.

**WordPress Backend, Teilen auf Facebook und Twitter**

In dieser App arbeitest Du erneut mit RESTful APIs. Allerdings erzeugst Du mit WordPress ein eigenes Backend für Deine App. Du lernst die Inhalte der App mit einfachen Mitteln selbst zu verwalten. Gerade für redaktionelle Inhalte ein Muss. Die Daten werden per JSON im Hintergrund abgerufen. Außerdem lernst Du mit den Property-Lists wie der Info (.plist) umzugehen und sie zur Konfiguration einzusetzen. Darüber hinaus erstellst Du eine eigeneEditAction für die UITableViewCell und lernst, wie Inhalte auf Twitter und Facebook geteilt werden können.

**MapKit und UISplitViewController**

Die HappyPlaces-App besteht aus zwei Teilen. Im Vordergrund steht die Nutzung von MapKit. Du zeigst Orte auf einer Karte an, ermöglichst über den UISearchController die Volltextsuche nach Orten, Ländern und Straßen und lernst Koordination per Touchgeste abzufragen. Auch die eigene Position wird bestimmt und auf der Karte dargestellt. Der zweite Teil der App ist der UISplitViewController. Er wird genutzt, um zur Verfügung stehenden Platz auf allen Geräten fast automatisch bestmöglich zu nutzen.

**UIBezierPath – eine animierte View**

Der TabataTimer ist eine umfassende App, in der Du sogar eigene View-Elemente erzeugst. Dazu nutzen wir einen UIBezierPath, mit dem wir eine eigene Fortschrittsanzeigen bauen (einen Kreis, der sich langsam füllt). Der Fortschritt wird mit einer CABasicAnimation animiert dargestellt. Ergänzend lernst Du auch mit NSTimer zu arbeiten und damit eigene Timer zu erzeugen. Auch hier realisieren wir wieder die Möglichkeit den Timer zu pausieren.

**XML-Verarbeitung und UITabBarController**

Der RSSReader ist genau das – ein Reader für RSS-Feeds. Diese werden typischerweise von Blogs und anderen redaktionellen Webseiten bereitgestellt. Die App zeigt die letzten Beiträge in einer UICollectionView an. Dazu passen wir das UICollectionViewFlowLayout an. Der NSXMLParser bildet das Herzstück der XML-Verarbeitung, welche ebenfalls im Hintergrund stattfindet. Auch Bilder werden abgerufen und in der CollectionView anzeiget. Außerdem kommt ein UITabBarController zum Einsatz, Du lernst auf Geräte-Rotation zu reagieren und eine WebView zu nutzen.

**Audiowiedergabe und Aufnahmen**

Das Soundboard nutzt vorbereitete Musikstücke und bietet Buttons, um sie abzuspielen. Insgesamt habe sind 9 Sounds von freesound (.org) zum Download bereit, die in der App genutzt werden. Ein wichtiger Part ist daher die Audiowiedergabe mit iOS. Darüber hinaus erstellst Du Audioaufnahmen mit dem Rekorder, spielst diese ab und lernst den Audiorecorder-Delegate kennen.

**Push-Notifications**

Viele Mannschaften bieten eigene Apps. Darüber stehen natürlich neueste Nachrichten bereit. Noch wichtiger sind aber Benachrichtigungen während der laufenden Spiele. Der aktuelle Spielstand wir abgerufen und der Benutzer per Push-Nachrichten bei Ereignissen sowie Anstoß und Abpfiff alarmiert. Diese Funktionalität bildet die LiveErgebnisse-App ab. Du lernst den Apple Push Notification Service (APNs) zu verstehen, verwendest eigene Push Notifications verwenden (per APN), wir erstellen die benötigten Zertifikate und versenden Push-Nachrichten. Der Spielstand wird per JSON abgerufen. Außerdem lernst Du NSNotifications kennen.

**In-App Einkäufe**

Über In-App Einkäufe werden viele Apps monetarisiert. Das Freemium Modell siehst vor eine kostenlose Basis bereitzustellen. Zusätzlich gibt es Premiuminhalte, die erst nach einer Zahlung freigeschaltet werden. In der PremiumRezepte-App lernst Du In-App Einkäufe anzubieten. Gemeinsam hinterlegen wir die kostenpflichtigen Inhalte, sperren aber den Zugang. Dieser wird schließlich per In-App Purchase (IAP) wieder freigeschaltet und der Einkauf gespeichert.

**CloudKit als Backend**

Cloudgram ist ein rudimentärer Clone von Instagram, der bewusst auf viel Funktionalität verzichtet. Im Vordergrund steht keine 1:1 Kopie, sondern das CloudKit Backend. Dieser populäre Service dient als Backend für die App. Du verwendest die Kamera und PhotoLibrary als Quelle für Bilder. Die werden hochgeladen und auf den Servern von Apple gespeichert. Darüber hinaus lernst Du Pull-To-Refresh in eine UITableView zu integrieren und Asset zu verwenden.

  • Label, Button, Slider, TextFields, AlertViews verstehen

  • TableView Grundlagen, Dictionaries, Arrays, Segue, Delegates, NavigationController verstehen

  • UICollectionView inkl. FlowLayout verstehen

Course Curriculum

2 Lectures

3 Lectures

2 Lectures

2 Lectures

1 Lectures

1 Lectures

1 Lectures

Instructor

Profile photo of Jan Brinkmann
Jan Brinkmann

Entwickler aus Leidenschaft! Ich bin seit über 15 Jahren Entwickler. Meine Schwerpunkte sind die Bereiche Web- und App-Technologie. Ich habe bereits mit Objective-C sehr gern gearbeitet. In Swift habe ich mich Hals über Kopf verliebt. Vor kurzem hat der Rheinwerk-Verlag das Training Programmieren mit Swift von mir veröffentlicht. Zudem verfasse ich Artikel für Fachzeitschriften wie das PHPMagazin, Entwickler Magazin und...

Review
4.9 course rating
4K ratings
ui-avatar of P. I. Atamaniuk, M.Sc.
P. I. A. M.
5.0
7 years ago

Es wird exzellent auf potenzielle Fehler eingegangen

  • Helpful
  • Not helpful
ui-avatar of Joachim Krysl
Joachim K.
5.0
7 years ago

Ich habe mir diesen relativ alten Kurs gekauft weil mein altes MacBook eine neuere Xcode Version nicht verkraftet. Der Kurs ist großartig, abwechslungsreich und sehr informativ. Jan erklärt wirklich sehr genau und verständlich. Kann den Kurs nur weiter empfehlen.

  • Helpful
  • Not helpful
ui-avatar of Louis-Gabriel Lück
Louis-gabriel L.
5.0
7 years ago

Sehr gut erklärt, versändlich und abwechslungsreich

  • Helpful
  • Not helpful
ui-avatar of Johannes Pfleghar
Johannes P.
4.5
7 years ago

Leider nicht mehr ganz aktuell. Ansonsten super!

  • Helpful
  • Not helpful
ui-avatar of Flavien Allenspach
Flavien A.
5.0
8 years ago

Super erklärt. Fühle mich als absoluter Laie sehr gut mitgenommen. Bin gespannt auf mehr!

  • Helpful
  • Not helpful
ui-avatar of Barbara L.
Barbara L.
5.0
8 years ago

Wunderbarer Kurs, einfach und verständlich erklärt. Vielen vielen Dank

  • Helpful
  • Not helpful
ui-avatar of Daniel Mathke
Daniel M.
5.0
8 years ago

Ich bin fasziniert von der Souveraenitaet des Lehrers, seine positive und zuversichtliche Ausdrucksweise gibt mir immer das Gefuehl, dass ich es doch lernen und anwenden kann irgendwann.

  • Helpful
  • Not helpful
ui-avatar of Michael Fischer
Michael F.
5.0
8 years ago

The speed is perfect and he is very good speaker

  • Helpful
  • Not helpful
ui-avatar of Dominik Florian
Dominik F.
4.5
8 years ago

Gut und einfach erklärt.

  • Helpful
  • Not helpful
ui-avatar of Joel Roser
Joel R.
5.0
8 years ago

Der Dozent erklärt alle Themen sehr gut und verständlich! ich bin ein komplett Einsteiger in die Programmierwelt, und verstehe nun schon die Grundprinzipien.

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses