
Vielen Dank das Du an Board bist! In diesem Video gehe ich noch einmal auf letzte Zweifel ein, die Dich vielleicht beschäftigten könnten.
Du findest hier den Quellcode, die Grafiken und alle Xcode Projekte der gezeigten Beispiele.
System vorbereitet? Du brauchst Xcode7, für die Beispiele rund um das Icon ein Grafikprogramm und zur Veröffentlichung von Apps einen Entwickler-Account bei Apple.
Irgendwas klappt nicht? Du kommst nicht weiter? Oder hast Du einen Fehler entdeckt? Hier zeige ich Dir, wie Du Hilfe findest.
Bevor wir einfach in den Code eintauchen gibt es hier eine kurze Übersicht über die tvOS Plattform.
Eine erste Übersicht über die nativen Apps, am Beispiel von Apples UIKitCatalog Demo App.
Du erzeugst ein eigenes tvOS Projekt und arbeitest mit Storyboards.
Du bildest wie in der Apple Demo eine UITabBarController ein und lernst ihn zu nutzen.
Lern Buttons, Label, Textfelder und segmentierte Steuerelemente zu nutzen
Es werden Eingaben verarbeitet und das erste Mal mit einem UIAlertController Hinweise ausgegeben.
Mit der UISegmentedControl gestaltest Du ein mehrsprachiges Interface (poor-mans translation) und schaltest zwischen Sprachen um.
Stack Views sind für flexible Interface enorm hilfreich. Darum arbeitest Du hier mit der UIStackView.
Storyboard Referenzen sind noch relativ neu, helfen aber bei der Arbeit im Team und machen große monolithische Storyboards deutlich übersichtlicher.
Die Focus Engine funktioniert gut, hat aber konzeptbedingt Grenzen. Vergleich mit einer digitalen Kamera funktioniert der Autofokus in vielen Fällen gut. In Ausnahmen musst nachgeholfen werden. Unter tvOS nutzt Du dafür einen UIFocusGuide.
Lern On-Demand Resources in dieser Einführung kennen und versteh, wie sie eingesetzt werden können.
Die On-Demand Resources (ODR) werden in einer Beispiel-Anwendung umgesetzt. In diesem Video stellt ich Dir das Endergebnis vor.
Los geht es mit dem hinzufügen von Ressourcen (Videos), die mittels Tags als On-Demand Ressource gekennzeichnet werden.
Der UISplitViewController ist ein optimales Werkzeug in Deinem tvOS Portfolio. Lern ihn kennen und richte die Basis der App ein.
Eine Split View besteht aus Master- und Detailansicht. Zuerst wird die Masterview erstellt.
Die zweite Säule vom UISplitViewController ist die Detailansicht und wird hier erstellt.
Das eigentliche Herzstück der On-Demand Ressourcen sind die Ressourcen selbst. Hier werden sie abgerufen.
Die heruntergeladenen Videos werden hier abgespielt
Gerade bei größeren Dateien dauert der Download ggf. einige Zeit. Hier lernst Du eine Fortschrittanzeige mit NSProgress zu erstellen.
Noch nie mit XML gearbeitet? Dann gibt es hier eine kurze Erklärung zur Struktur.
In dieser kurzen Demo zeige ich Dir vorab die App, die wir in dieser Sektion entwickeln.
Los geht's mit der Grundlage: einem neuen tvOS Projekt und der Einrichtung von Deinem Storyboard.
Die App Transport Security muss konfiguriert werden. Hier zeige ich Dir wie das geht.
Bevor Du einfach "blind" Code abtippst und den XML Feed verarbeitest, schauen wir uns die Struktur gemeinsam an.
Der nächste Schritt ist der Download des Feeds. Jetzt lernst Du wie das funktioniert.
Du nutzt den NSXMLParser um den XML Feed zu verarbeiten und die notwendigen Informationen auszulesen.
Manche Informationen werden nicht direkt im XML-Knoten hinterlegt, sondern als Attribut. Nach diesem Video liest Du diese Informationen ebenfalls gekonnt aus.
Asynchrone Datenverarbeitung stellt besondere Anforderungen. Einfache Rückgabewerte funktionieren nicht. Stattdessen lernst Du über einen Completionhandler Werte weiterzuleiten.
Eine Collection View wird eingerichtet und Inhalte angezeigt.
Eigene Collection View Cells ermöglichen unter anderem eigene Outlets für View-Elemente. In diesem Video legen wir gemeinsam Collection View Klassen an.
Das FlowLayout steuert die Anordnung der Elemente. Lern es für Deine Zwecke einzurichten.
Die Bilder der Collection View werden nicht hervorgehoben. Wie kann das sein? In diesem Video findest Du die Antwort.
Videos abspielen ist ein zentrales Feature der AppleTV. Lern wie das funktionieren kann.
Lern die App kennen, die im Verlauf dieser Sektion realisiert wird.
Richte das Projekt ein und bereite das Storyboard vor.
Die Inhalte sollen einen einheitlichen Header enthalten. Hier siehst Du wie das aussehen könnte.
Leg ein Klasse als Datamodel für die Kurse an.
Die Videotrainings werden in einer UICollectionView dargestellt. Hier wird sie hinzugefügt.
Die Darstellung der Kurse erfolgt mit benutzerdefinierten UICollectionViewCells. Die werden nun vorbereitet.
Über das FlowLayout werden nun die optimal Abstände und die Größe der View Cells festgelegt.
Für die Anzeige von Kursinhalten wird das Grundgerüst geschaffen.
Jetzt ergänzt Du fehlende View-Elemente und vervollständigst so das Interface.
In dieser Lektion schlägst Du die Brücke zwischen den Kursen und den Kursinhalten über einen UIStoryboardSegue. Gleichzeitig wird der gewählte Kurs übergeben.
In Vorbereitung auf die Arbeit mit CloudKit bereitest Du nun auch für Inhalte ein Datamodel vor.
Die Collection View wird nun mit einer UIStackView kombiniert hinterlegt. Die Herausforderung ist dabei die Mischung von "Clips to bounds" für abgeschnittene Einträge am Ende und gleichzeitig genug Platz am Anfang.
Für die Inhalte werden ebenfalls eigene Subklassen von der UICollectionViewCell angelegt.
Die Inhalte werden nun in die Collection View übertragen.
Die Größe der Collection View Cells wird nun festgelegt.
Wird eine Collection View Cell den Fokus, wird nun die Schrift im Label hervorgehoben.
Auch die Swift Akademie App soll die Videos abspielen können.
Lern das CloudKit kennen, insbesondere hier die beiden wichtigsten logischen Einheiten: Container und Datenbanken.
Der zweite Teil der CloudKit-Einführung. Du lernst Records, Referenzen, Assets und Queries kennen.
Wie einfach CloudKit zu einem Projekt hinzugefügt werden kann, lernst Du in diesem Video.
Die Kurse werden in einem eigenen Record Type hinterlegt, den Du nun vorbereitest.
Daten in der Cloud, schön und gut! Jetzt musst Du nur noch wissen, wie sie abgerufen werden!
Die Bilder werden nicht in der iCloud gespeichert, nur URLs. Jetzt lernst Du sie im Hintergrund herunterzuladen.
Jetzt nutzt Du das Dashboard um Kursinhalte zu hinterlegen.
Und auch hier gilt: wirklich nützlich werden Informationen nur, wenn darauf zugegriffen werden kann.
In dieser Übung werden nun Bilder von Dir heruntergeladen.
Eine Musterlösung für die vorherige Aufgabe findest Du hier.
Lern wie Du die Sortierung der Ergebnisse von einem Query verändern kannst.
Wir werden einen Blick in die Human Interface Guidelines für tvOS Apps.
Du erstellst ein Parallax App-Icon mit Photoshop.
Schau Dir den Parallax-Effekt von Deinem Icon in der Vorschau an, mit Apples Tool dem Parallax Viewer.
Das fertige App-Icon, bzw. die verschiedenen Ebenen, werden im Xcode Projekt hinterlegt.
Die beiden Bilder sind Pflicht: Top-Shelf Image und Launch-Image. Lern wo sie hinterlegt werden.
Erstell einen Account bei den Amazon Web Services und melde Dich an.
Der Speicherort für Deine Videoinhalte - bei Amazon S3 auch Bucket genannt - wird in diesem Video erstellt.
Um Daten in Deinem Bucket zu speichern, benötigst Du Zugriff auf den Server. Die Login-Daten erzeugst Du nun.
Effizienter und flüssiger als nur über Amazon S3 läuft die Auslieferung per Cloudfront, dem Content Delivery Network von Amazon. Lern wie Du dies vor Deine S3 Buckets schalten kannst.
Kurzer Ausflug in die Welt der Tools. Der Editor VIM ist auf der Kommandozeile nahezu unschlagbar. Und da er in den nächsten Videos eine Rolle spielt, hier eine kompakte Einführung.
Du lernst die CocoaPods kennen und richtet das Projekt entsprechend ein.
Die nächste Bibliothek ist in Objective-C geschrieben. Lern wie Du über Bridging Header Objective-C Bibliotheken in Deinem Swift Projekt verwendest.
Die Bibliothek SDWebImage macht Dir das Arbeiten mit Bildern einfach. Der Download erfolgt automatisch, im Hintergrund und außerdem über einen Cache.
Eine kurze Übersicht über die Frage "Was ist JavaScript" eigentlich genau?
In diesem Crashkurs bindest Du JavaScript in ein HTML Dokument ein. Zunächst lernst Du dies direkt im Dokument zu hinterlegen.
Externe JavaScripts sind ebenfalls wichtig und im Web ständig präsent.
Lern das Document Object Model kennen.
Daten ausgeben musst Du in TVML/TVJS auf diesem Weg nicht, aber es ist trotzdem wichtig für die weiteren Beispiele.
Ein wesentliches Feature von JavaScript ist die Steuerung durch Events. Hier lernst Du das Konzept am Beispiel von Klick Events kennen.
Lern wie Du auf Elemente zugreifst und den Wert ändern kannst.
Zentrales Konzept jeder Programmiersprache. Hier lernst Du, wie sie in JavaScript angelegt werden.
Auch wenn JavaScript keine expliziten Datentypen bei der Deklaration verwendet, solltest Du das Konzept dennoch verstehen.
Ohne einfache Arithmetik ist ein Computer (zu deutsch Rechner) nicht in der Lage etwas zu berechnen. JavaScript kann dies natürlich auch.
Selbst wenn Du sie nicht direkt selbst verwendest, begegnen Dir zusammengesetzt / kombinierte Zuweisungen in der Praxis häufiger. Gut wenn Du die Syntax lesen kannst!
Ohne Bedingungen ist die Programmierung nur schwer vorstellbar.
Auch das Konzept der Wiederholung ist enorm wichtig. Hier lernst Du eine Variante und JavaScript kennen.
Auch while-Schleifen haben ihren Einsatzzweck. Gut, wenn Du auch sie kennst.
Funktionen wirst Du auch in TVJS nutzen. Ein wichtiges Konzept, das es zu verstehen gilt.
Um Dich vernünftig im Code zu bewegen musst Du die Gültigkeitsbereiche von JavaScript kennen (Scopes).
Hier geht es noch einmal um Events, etwas mehr im Detail.
Vermutlich in jeder App begegnen Dir Strings. Auch sie gehören deshalb unbedingt in einen Crashkurs.
Themen wie Zufallszahlen und andere aufwendige Berechnungen sind ebenfalls wichtig.
Auch Arrays werden Dir mit Sicherheit im JavaScript und TVJS Umfeld begegnen. Gut, wenn Du sie kennst.
Auch in TVJS werden Objekte eingesetzt. Du solltest also mindestens die JavaScript Umsetzung kennen.
Eigenschaften gehören zur Objektorientierung und sollten grundsätzlich verstanden werden.
Auch Methoden sind wichtig und werden Dir in den TVJS Beispielen häufiger begegnen.
Du lernst die wichtigen Eigenschaften und Features von Apples neuer tvOS-Plattform kennen. Du verwendest Swift für native Apps und lernst mit TVML und TVJS eine noch ganz neue Technologie bei der Apple-Entwicklung kennen, die sogenannten Client/Server Apps.
Einstieg
Zu Beginn lernst Du die angebotenen Interface-Elemente von tvOS kennen. Gemeinsam begeben wir uns auf eine Tour durch die verschiedenen Demos von Apple und setzen eine erste App um. Auch Features wie Storyboard-Referenzen dürfen gerade bei AppleTV-Apps nicht fehlen. Auch wichtige Themen wie die Stack Views und die neue Focus Engine werden genauer unter die Lupe genommen.
Mehr als nur Programmierung
Inhaltlich geht der Kurs über die reine Entwicklung hinaus. Du lernst alles, was Du vom Einstieg bis zu einer fertigen App benötigst. Dazu gehört natürlich auch die Übermittlung fertiger Apps an der AppStore, die Einrichtung der notwendigen Zertifikate und der Eintrag auf iTunes Connect. Auf dem Weg dahin lernst Du auch datenintensive Inhalte wie Videos über Amazon S3 anzubieten, lernst Parallax Grafiken kennen und erstellst die notwendigen Grafiken wie App Icons und das Top-Shelf Image.
Eine echte App entsteht
Außerdem blickst Du mir bei der Entstehung der Swift Akademie tvOS-App über die Schulter. Ich erkläre Dir an einem echten Beispiel native App-Entwicklung mit dem UIKit. Anschließend zeige ich Dir, wie Du über das CloudKit Inhalte in der iCloud anbieten kannst und sie von dort wieder abrufst.
Warum tvOS?
Die Plattform ist wirklich aufregend und hat viel mehr Potential, als derzeit diskutiert wird. Sie hat mit Leichtigkeit die Möglichkeit Dreh- und Angelpunkt für digitale Haushalte und Büros zu werden. Online Meetings, Überwachungskameras, Schulungsinhalte, TV-Sendungen, Filme, Haussteuerung, Spiele? Wirklich alles denkbar!
Noch wenig Konkurrenz
Die beste Nachricht ist, dass es im Vergleich zu iOS im AppStore noch viel weniger Konkurrenz gibt. Es gibt viele Nischen, die mit vernünftiger Qualität und Funktion besetzt werden können.
Der Zeitpunkt um einzusteigen war wirklich nie besser als jetzt gerade. Also worauf warten? Meld Dich an, dann sehen wir uns gleich im Kurs wieder!
Hinweis: Die Beispiele funktionieren nahezu vollständig OHNE eine AppleTV-Device.