Tanca l'anunci

Apple va presentar la setmana passada, entre altres coses el nou Apple TV amb el sistema operatiu tvOS. El fet que les aplicacions de l'App Store es puguin instal·lar a la nova caixa negra, sens dubte, va fer més feliços els desenvolupadors.

Els desenvolupadors tenen dues opcions. Poden escriure una aplicació nativa que tingui accés complet al maquinari d'Apple TV. El SDK disponible (conjunt de biblioteques per a desenvolupadors) és molt similar al que els desenvolupadors ja coneixen de l'iPhone, l'iPad, i els llenguatges de programació són els mateixos: Objective-C i el Swift més jove.

Però per a aplicacions més senzilles, Apple va oferir als desenvolupadors una segona opció en forma de TVML - Television Markup Language. Si creieu que el nom TVML s'assembla sospitosament a HTML, teniu raó. Realment és un llenguatge de marques basat en XML i molt semblant a HTML, només que és molt més senzill i té una sintaxi més estricta. Però és absolutament perfecte per a aplicacions com Netflix. I els usuaris també es beneficiaran, perquè l'estricte de TVML farà que les aplicacions multimèdia semblin i funcionin de la mateixa manera.

Camí a la primera aplicació

Així que el primer que vaig haver de fer va ser descarregar la nova versió beta de l'entorn de desenvolupament Xcode (la versió 7.1 està disponible). aquí). Això em va donar accés a l'SDK de tvOS i vaig poder iniciar un nou projecte dirigit específicament a l'Apple TV de quarta generació. L'aplicació pot ser només per a tvOS, o el codi es pot afegir a una aplicació iOS existent per crear una aplicació "universal", un model similar a les aplicacions d'iPhone i iPad actuals.

Primer problema: Xcode només ofereix la possibilitat de crear una aplicació nativa. Però vaig trobar molt ràpidament una secció a la documentació que ajudarà els desenvolupadors a canviar aquest esquelet i preparar-lo per TVML. Bàsicament, són unes poques línies de codi a Swift que, només a l'Apple TV, creen un objecte a pantalla completa i carreguen la part principal de l'aplicació, que ja està escrita en JavaScript.

Problema dos: les aplicacions TVML són realment molt semblants a una pàgina web i, per tant, tot el codi també es carrega des d'Internet. L'aplicació en si és en realitat només un "carregador d'arrencada", conté només un mínim de codi i els elements gràfics més bàsics (icona de l'aplicació i similars). Al final, vaig posar amb èxit el codi JavaScript principal directament a l'aplicació i vaig tenir la possibilitat de mostrar almenys un missatge d'error personalitzat quan l'Apple TV no està connectat a Internet.

El tercer petit problema: iOS 9 i amb ell tvOS requereix estrictament que totes les comunicacions cap a Internet es facin encriptades mitjançant HTTPS. Aquesta és una característica introduïda a iOS 9 per a totes les aplicacions i el motiu és la pressió sobre la privadesa dels usuaris i la seguretat de les dades. Per tant, serà necessari desplegar un certificat SSL al servidor web. Es pot comprar per tan sols 5 dòlars (120 corones) a l'any, o podeu utilitzar, per exemple, el servei CloudFlare, que s'encarregarà d'HTTPS per si mateix, automàticament i sense inversió. La segona opció és desactivar aquesta restricció per a l'aplicació, que és possible de moment, però definitivament no la recomanaria.

Després d'unes hores de lectura de la documentació, on encara hi ha petits errors ocasionals, vaig elaborar una aplicació molt bàsica però que funcionava. Mostrava el text popular "Hola món" i dos botons. Vaig passar unes dues hores intentant que el botó estigués actiu i realment fes alguna cosa. Però tenint en compte les primeres hores del matí, vaig preferir anar a dormir... i això va ser bo.

L'altre dia, vaig tenir la brillant idea de descarregar una aplicació TVML de mostra preparada directament des d'Apple. Vaig trobar el que buscava molt ràpidament al codi i el botó estava en directe i funcionava. Entre altres coses, també vaig descobrir les dues primeres parts del tutorial de tvOS a Internet. Tots dos recursos van ajudar molt, així que vaig començar un nou projecte i vaig començar la meva primera aplicació real.

Primera aplicació real

Vaig començar completament des de zero, la primera pàgina de TVML. L'avantatge és que Apple ha preparat 18 plantilles TVML preparades per als desenvolupadors que només cal copiar de la documentació. L'edició d'una plantilla va trigar aproximadament una hora, principalment perquè estava preparant la nostra API per enviar el TVML acabat amb totes les dades necessàries a l'Apple TV.

La segona plantilla només va trigar uns 10 minuts. He afegit dos JavaScript: la major part del codi que contenen prové directament d'Apple, així que per què reinventar la roda. Apple ha preparat scripts que s'encarreguen de carregar i mostrar plantilles TVML, inclòs l'indicador de càrrega de contingut recomanat i la possible visualització d'errors.

En menys de dues hores, vaig poder muntar una aplicació PLAY.CZ molt senzilla però funcional. Pot mostrar una llista d'emissores de ràdio, pot filtrar-la per gènere i pot iniciar la ràdio. Sí, moltes coses no estan a l'aplicació, però les bases funcionen.

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

L'avantatge és que l'aplicació no és bàsicament més que una versió especial del lloc web, que funciona amb JavaScript i també podeu utilitzar CSS per modificar l'aparença.

Apple encara necessita algunes coses més per preparar. La icona de l'aplicació no és una, sinó dues: més petita i més gran. La novetat és que la icona no és una imatge simple, sinó que conté un efecte de paral·laxi i es compon de 2 a 5 capes (fons, objectes al mig i primer pla). Totes les imatges actives de l'aplicació poden contenir el mateix efecte.

Cada capa és en realitat només una imatge sobre un fons transparent. Apple ha preparat la seva pròpia aplicació per compilar aquestes imatges en capes i es compromet a llançar aviat un connector d'exportació per a Adobe Photoshop.

Un altre requisit és una imatge "Prestat superior". Si l'usuari col·loca l'aplicació en una posició destacada a la fila superior (al prestatge superior), l'aplicació també ha de proporcionar contingut per a l'escriptori a sobre de la llista d'aplicacions. Pot haver-hi només una imatge simple o pot ser una àrea activa, per exemple amb una llista de pel·lícules preferides o, en el nostre cas, emissores de ràdio.

Molts desenvolupadors estan començant a explorar les possibilitats del nou tvOS. La bona notícia és que escriure una aplicació de contingut és molt fàcil i Apple ha recorregut un llarg camí per als desenvolupadors amb TVML. La creació d'una aplicació (per exemple, PLAY.CZ o iVyszílő) hauria de ser fàcil i ràpid. Hi ha moltes possibilitats que un gran nombre d'aplicacions estiguin llestes al mateix temps que el nou Apple TV surt a la venda.

Escriure una aplicació nativa o portar un joc d'iOS a tvOS serà més difícil, però no gaire. El major obstacle seran els diferents controls i un límit de 200 MB per aplicació. Una aplicació nativa només pot descarregar una part limitada de les dades de la botiga, i tota la resta s'ha de descarregar addicionalment, i no hi ha cap garantia que el sistema no suprimirà aquestes dades. No obstant això, els desenvolupadors segurament afrontaran aquesta limitació ràpidament, també gràcies a la disponibilitat d'un conjunt d'eines anomenades "App Thinning", que també formen part d'iOS 9.

Temes: , ,
.