Anzeige schließen

Apple hat letzte Woche unter anderem vorgestellt das neue Apple TV mit dem tvOS-Betriebssystem. Die Tatsache, dass Anwendungen aus dem App Store in der neuen Blackbox installiert werden können, hat die Entwickler sicherlich am meisten gefreut.

Entwickler haben zwei Möglichkeiten. Sie können eine native App schreiben, die vollen Zugriff auf die Apple TV-Hardware hat. Das verfügbare SDK (Reihe von Bibliotheken für Entwickler) ähnelt stark dem, was Entwickler bereits vom iPhone und iPad kennen, und die Programmiersprachen sind dieselben – Objective-C und das jüngere Swift.

Für einfachere Anwendungen bot Apple den Entwicklern jedoch eine zweite Option in Form von TVML – Television Markup Language. Wenn Sie das Gefühl haben, dass der Name TVML verdächtig nach HTML aussieht, haben Sie Recht. Es handelt sich tatsächlich um eine Auszeichnungssprache, die auf XML basiert und HTML sehr ähnlich ist, nur ist sie viel einfacher und hat eine strengere Syntax. Aber für Anwendungen wie Netflix ist es absolut perfekt. Und auch die Benutzer werden davon profitieren, denn die Strenge von TVML sorgt dafür, dass Multimedia-Anwendungen weitgehend gleich aussehen und funktionieren.

Weg zur Erstbewerbung

Als erstes musste ich also die neue Beta-Version der Xcode-Entwicklungsumgebung herunterladen (Version 7.1 ist verfügbar). hier). Dadurch erhielt ich Zugriff auf das tvOS SDK und konnte ein neues Projekt starten, das speziell auf das Apple TV der vierten Generation abzielt. Die App kann nur tvOS sein oder der Code kann zu einer vorhandenen iOS-App hinzugefügt werden, um eine „universelle“ App zu erstellen – ein Modell, das den heutigen iPhone- und iPad-Apps ähnelt.

Problem eins: Xcode bietet nur die Möglichkeit, eine native App zu erstellen. Aber ich habe sehr schnell einen Abschnitt in der Dokumentation gefunden, der Entwicklern hilft, dieses Grundgerüst zu ändern und es für TVML vorzubereiten. Im Grunde sind es ein paar Codezeilen in Swift, die einfach auf dem Apple TV ein Vollbildobjekt erstellen und den Hauptteil der App laden, der bereits in JavaScript geschrieben ist.

Problem zwei: TVML-Anwendungen sind einer Webseite wirklich sehr ähnlich und daher wird auch der gesamte Code aus dem Internet geladen. Die Anwendung selbst ist eigentlich nur ein „Bootloader“, sie enthält nur ein Minimum an Code und die grundlegendsten grafischen Elemente (Anwendungssymbol und dergleichen). Am Ende habe ich den Haupt-JavaScript-Code erfolgreich direkt in die App eingefügt und die Möglichkeit erhalten, zumindest eine benutzerdefinierte Fehlermeldung anzuzeigen, wenn das Apple TV nicht mit dem Internet verbunden ist.

Das dritte kleine Problem: iOS 9 und damit tvOS verlangt strikt, dass die gesamte Kommunikation in Richtung Internet verschlüsselt über HTTPS erfolgt. Dies ist eine Funktion, die in iOS 9 für alle Apps eingeführt wurde. Der Grund dafür ist der Druck auf die Privatsphäre und Datensicherheit der Benutzer. Daher muss ein SSL-Zertifikat auf dem Webserver bereitgestellt werden. Es kann für nur 5 $ (120 Kronen) pro Jahr erworben werden, oder Sie können beispielsweise den CloudFlare-Dienst nutzen, der sich automatisch und ohne Investition selbst um HTTPS kümmert. Die zweite Möglichkeit besteht darin, diese Einschränkung für die Anwendung auszuschalten, was zwar vorerst möglich ist, ich aber definitiv nicht empfehlen würde.

Nach ein paar Stunden Lesen der Dokumentation, in der es immer noch gelegentlich kleinere Fehler gibt, habe ich eine sehr einfache, aber funktionierende Anwendung ausgearbeitet. Es zeigte den beliebten Text „Hello World“ und zwei Schaltflächen. Ich habe ungefähr zwei Stunden damit verbracht, den Knopf zum Aktivieren zu bringen und tatsächlich etwas zu tun. Aber angesichts der frühen Morgenstunden ging ich lieber schlafen … und das war auch gut so.

Neulich hatte ich die gute Idee, eine fertige Beispiel-TVML-Anwendung direkt von Apple herunterzuladen. Ich habe im Code sehr schnell gefunden, wonach ich gesucht habe, und der Button war live und funktionsfähig. Unter anderem habe ich auch die ersten beiden Teile des tvOS-Tutorials im Internet entdeckt. Beide Ressourcen haben sehr geholfen, also habe ich ein neues Projekt gestartet und meine erste echte Anwendung gestartet.

Erste echte Anwendung

Ich habe ganz von vorne angefangen, die erste TVML-Seite. Der Vorteil besteht darin, dass Apple 18 vorgefertigte TVML-Vorlagen für Entwickler vorbereitet hat, die nur noch aus der Dokumentation kopiert werden müssen. Das Bearbeiten einer Vorlage dauerte etwa eine Stunde, vor allem weil ich unsere API vorbereitete, um die fertige TVML mit allen notwendigen Daten an Apple TV zu senden.

Die zweite Vorlage dauerte nur etwa 10 Minuten. Ich habe zwei JavaScripts hinzugefügt – der Großteil des darin enthaltenen Codes stammt direkt von Apple, warum also das Rad neu erfinden? Apple hat Skripte vorbereitet, die sich um das Laden und Anzeigen von TVML-Vorlagen kümmern, einschließlich der empfohlenen Anzeige für das Laden von Inhalten und der Anzeige möglicher Fehler.

In weniger als zwei Stunden konnte ich eine sehr einfache, aber funktionierende PLAY.CZ-Anwendung zusammenstellen. Es kann eine Liste von Radiosendern anzeigen, nach Genre filtern und das Radio starten. Ja, viele Dinge sind nicht in der App enthalten, aber die Grundlagen funktionieren.

[youtube id=“kLKvWC-rj7Q“ width=“620″ height=“360″]

Der Vorteil besteht darin, dass es sich bei der Anwendung im Wesentlichen um nichts anderes als eine spezielle Version der Website handelt, die auf JavaScript basiert und Sie auch CSS verwenden können, um das Erscheinungsbild zu ändern.

Apple muss noch einige Dinge vorbereiten. Das Anwendungssymbol ist nicht eins, sondern zwei – kleiner und größer. Das Neue ist, dass das Icon kein einfaches Bild ist, sondern einen Parallaxeneffekt enthält und aus 2 bis 5 Ebenen (Hintergrund, Objekte in der Mitte und Vordergrund) besteht. Alle aktiven Bilder in der Anwendung können denselben Effekt enthalten.

Jede Ebene ist eigentlich nur ein Bild auf einem transparenten Hintergrund. Apple hat eine eigene Anwendung zum Zusammenstellen dieser Ebenenbilder vorbereitet und verspricht, bald ein Export-Plugin für Adobe Photoshop zu veröffentlichen.

Eine weitere Anforderung ist ein „Top Shelf“-Bild. Platziert der Nutzer die App an prominenter Stelle in der obersten Reihe (im obersten Regal), muss die App oberhalb der App-Liste auch Inhalte für den Desktop bereitstellen. Es kann entweder nur ein einfaches Bild sein oder es kann sich um einen aktiven Bereich handeln, beispielsweise mit einer Liste der Lieblingsfilme oder in unserem Fall der Radiosender.

Viele Entwickler fangen gerade erst an, die Möglichkeiten des neuen tvOS auszuloten. Die gute Nachricht ist, dass das Schreiben einer Content-App sehr einfach ist und Apple mit TVML den Entwicklern viel gebracht hat. Das Erstellen einer Anwendung (zum Beispiel PLAY.CZ oder iVyszílő) sollte einfach und schnell sein. Die Chancen stehen gut, dass zeitgleich mit dem Verkaufsstart des neuen Apple TV eine Vielzahl an Anwendungen fertig sein wird.

Eine native App zu schreiben oder ein Spiel von iOS auf tvOS zu portieren wird schwieriger sein, aber nicht viel. Die größte Hürde werden unterschiedliche Steuerelemente und ein Limit von 200 MB pro App sein. Eine native Anwendung kann nur einen begrenzten Teil der Daten aus dem Store herunterladen, alles andere muss zusätzlich heruntergeladen werden und es gibt keine Garantie dafür, dass das System diese Daten nicht löscht. Allerdings werden sich Entwickler mit dieser Einschränkung sicherlich schnell auseinandersetzen, auch dank der Verfügbarkeit einer Reihe von Tools namens „App Thinning“, die ebenfalls Teil von iOS 9 sind.

Thema: , ,
.