Fermer l'annonce

Apple a présenté la semaine dernière, entre autres la nouvelle Apple TV avec le système d'exploitation tvOS. Le fait que les applications de l'App Store puissent être installées dans la nouvelle boîte noire a certainement fait le bonheur des développeurs.

Les développeurs ont deux options. Ils peuvent écrire une application native disposant d’un accès complet au matériel Apple TV. Le SDK disponible (ensemble de bibliothèques pour les développeurs) est très similaire à ce que les développeurs connaissent déjà sur iPhone, iPad, et les langages de programmation sont les mêmes - Objective-C et le jeune Swift.

Mais pour les applications plus simples, Apple a proposé aux développeurs une deuxième option sous la forme de TVML - Television Markup Language. Si vous pensez que le nom TVML ressemble étrangement à HTML, vous avez raison. Il s'agit en réalité d'un langage de balisage basé sur XML et très similaire au HTML, sauf qu'il est beaucoup plus simple et possède une syntaxe plus stricte. Mais c’est absolument parfait pour des applications comme Netflix. Et les utilisateurs en bénéficieront également, car la rigueur de TVML donnera aux applications multimédia une apparence et un fonctionnement sensiblement identiques.

Chemin vers la première candidature

La première chose que j'ai dû faire a donc été de télécharger la nouvelle version bêta de l'environnement de développement Xcode (la version 7.1 est disponible ici). Cela m'a donné accès au SDK tvOS et j'ai pu démarrer un nouveau projet ciblant spécifiquement l'Apple TV de quatrième génération. L'application peut être uniquement tvOS, ou le code peut être ajouté à une application iOS existante pour créer une application « universelle » – un modèle similaire aux applications iPhone et iPad actuelles.

Premier problème : Xcode offre uniquement la possibilité de créer une application native. Mais j'ai très vite trouvé une section dans la documentation qui aidera les développeurs à modifier ce squelette et à le préparer pour TVML. Fondamentalement, ce sont quelques lignes de code dans Swift qui, uniquement sur l'Apple TV, créent un objet en plein écran et chargent la partie principale de l'application, qui est déjà écrite en JavaScript.

Deuxième problème : les applications TVML ressemblent beaucoup à une page Web et, par conséquent, tout le code est chargé depuis Internet. L'application elle-même n'est en fait qu'un "bootloader", elle ne contient qu'un minimum de code et les éléments graphiques les plus basiques (icône de l'application, etc.). En fin de compte, j'ai réussi à insérer le code JavaScript principal directement dans l'application et j'ai au moins pu afficher un message d'erreur personnalisé lorsque l'Apple TV n'est pas connectée à Internet.

Troisième petit problème : iOS 9 et avec lui tvOS imposent strictement que toutes les communications vers Internet se fassent cryptées via HTTPS. Il s'agit d'une fonctionnalité introduite dans iOS 9 pour toutes les applications et cela s'explique par la pression exercée sur la confidentialité des utilisateurs et la sécurité des données. Il faudra donc déployer un certificat SSL sur le serveur web. Il peut être acheté pour seulement 5 $ (120 couronnes) par an, ou vous pouvez utiliser, par exemple, le service CloudFlare, qui s'occupera lui-même du HTTPS, automatiquement et sans investissement. La deuxième option consiste à désactiver cette restriction pour l'application, ce qui est possible pour l'instant, mais je ne le recommanderais certainement pas.

Après quelques heures de lecture de la documentation, où il y a encore des erreurs mineures occasionnelles, j'ai élaboré une application très basique mais fonctionnelle. Il affichait le texte populaire « Hello World » et deux boutons. J'ai passé environ deux heures à essayer d'activer le bouton et de faire quelque chose. Mais vu les petites heures du matin, j'ai préféré aller dormir… et c'était une bonne chose.

L'autre jour, j'ai eu la brillante idée de télécharger un exemple d'application TVML prête à l'emploi directement depuis Apple. J'ai trouvé très rapidement ce que je cherchais dans le code et le bouton était actif et fonctionnel. Entre autres choses, j'ai également découvert les deux premières parties du tutoriel tvOS sur Internet. Les deux ressources m'ont beaucoup aidé, j'ai donc démarré un nouveau projet et lancé ma première vraie application.

Première vraie application

Je suis parti complètement de zéro, la première page TVML. L'avantage est qu'Apple a préparé 18 modèles TVML prêts à l'emploi pour les développeurs, qu'il suffit de copier à partir de la documentation. La modification d'un modèle a pris environ une heure, principalement parce que je préparais notre API pour envoyer le TVML terminé avec toutes les données nécessaires à l'Apple TV.

Le deuxième modèle n’a pris qu’environ 10 minutes. J'ai ajouté deux JavaScripts - la plupart du code qu'ils contiennent provient directement d'Apple, alors pourquoi réinventer la roue. Apple a préparé des scripts qui prennent en charge le chargement et l'affichage des modèles TVML, y compris l'indicateur de chargement de contenu recommandé et l'affichage des erreurs possibles.

En moins de deux heures, j'ai pu créer une application PLAY.CZ très simple mais fonctionnelle. Il peut afficher une liste de stations de radio, il peut la filtrer par genre et il peut démarrer la radio. Oui, beaucoup de choses ne sont pas dans l’application, mais les bases fonctionnent.

[identifiant YouTube = »kLKvWC-rj7Q » largeur = »620″ hauteur = »360″]

L'avantage est que l'application n'est essentiellement rien de plus qu'une version spéciale du site Web, alimentée par JavaScript et dont vous pouvez également utiliser CSS pour modifier l'apparence.

Apple a encore besoin de quelques éléments supplémentaires à préparer. L'icône de l'application n'est pas une, mais deux - de plus en plus petite. La nouveauté est que l'icône n'est pas une simple image, mais contient un effet de parallaxe et est composée de 2 à 5 calques (arrière-plan, objets du milieu et premier plan). Toutes les images actives dans l'application peuvent contenir le même effet.

Chaque calque n’est en réalité qu’une image sur un fond transparent. Apple a préparé sa propre application pour compiler ces images en couches et promet de publier prochainement un plugin d'exportation pour Adobe Photoshop.

Une autre exigence est une image « Top Shelf ». Si l'utilisateur place l'application bien en vue dans la rangée supérieure (sur l'étagère supérieure), l'application doit également fournir du contenu pour le bureau au-dessus de la liste des applications. Il peut s'agir soit d'une simple image, soit d'une zone active, par exemple avec une liste de films préférés ou, dans notre cas, de stations de radio.

De nombreux développeurs commencent tout juste à explorer les possibilités du nouveau tvOS. La bonne nouvelle est qu'il est très simple d'écrire une application de contenu et qu'Apple a parcouru un long chemin pour les développeurs avec TVML. Créer une application (par exemple PLAY.CZ ou iVyszílő) doit être simple et rapide. Il y a de fortes chances qu'un grand nombre d'applications soient prêtes en même temps que la nouvelle Apple TV sera mise en vente.

Écrire une application native ou porter un jeu d’iOS vers tvOS sera plus difficile, mais pas de beaucoup. Le plus gros obstacle sera les différents contrôles et une limite de 200 Mo par application. Une application native ne peut télécharger qu'une partie limitée des données du magasin, et tout le reste doit être téléchargé en plus, et il n'y a aucune garantie que le système ne supprimera pas ces données. Cependant, les développeurs s'attaqueront certainement rapidement à cette limitation, également grâce à la disponibilité d'un ensemble d'outils appelés "App Thinning", qui font également partie d'iOS 9.

Les sujets: , ,
.