Pechar anuncio

Apple presentou a semana pasada, entre outras cousas o novo Apple TV co sistema operativo tvOS. O feito de que as aplicacións da App Store se poidan instalar na nova caixa negra sen dúbida fixo que os desenvolvedores sexan máis felices.

Os desenvolvedores teñen dúas opcións. Poden escribir unha aplicación nativa que teña acceso total ao hardware de Apple TV. O SDK dispoñible (conxunto de bibliotecas para desenvolvedores) é moi similar ao que xa coñecen os desenvolvedores do iPhone, iPad e as linguaxes de programación son as mesmas: Objective-C e Swift máis novo.

Pero para aplicacións máis sinxelas, Apple ofreceu aos desenvolvedores unha segunda opción en forma de TVML - Television Markup Language. Se cres que o nome TVML parece sospeitosamente HTML, tes razón. Realmente é unha linguaxe de marcas baseada en XML e moi semellante ao HTML, só que é moito máis sinxela e ten unha sintaxe máis estrita. Pero é absolutamente perfecto para aplicacións como Netflix. E os usuarios tamén se beneficiarán, porque a rigorosidade de TVML fará que as aplicacións multimedia se vexan e funcionen de forma similar.

Camiño á primeira aplicación

Así que o primeiro que tiven que facer foi descargar a nova versión beta do entorno de desenvolvemento Xcode (a versión 7.1 está dispoñible aquí). Isto deume acceso ao SDK de tvOS e puiden comezar un novo proxecto dirixido específicamente á cuarta xeración de Apple TV. A aplicación pode ser só para tvOS ou o código pódese engadir a unha aplicación iOS existente para crear unha aplicación "universal", un modelo similar ás aplicacións para iPhone e iPad de hoxe.

Problema primeiro: Xcode só ofrece a posibilidade de crear unha aplicación nativa. Pero axiña atopei unha sección na documentación que axudará aos desenvolvedores a cambiar este esqueleto e preparalo para TVML. Basicamente, son unhas poucas liñas de código en Swift que, só no Apple TV, crean un obxecto a pantalla completa e cargan a parte principal da aplicación, que xa está escrita en JavaScript.

Problema dous: as aplicacións TVML son realmente moi similares a unha páxina web e, polo tanto, todo o código tamén se carga desde Internet. A aplicación en si é en realidade só un "cargador de arranque", contén só un mínimo de código e os elementos gráficos máis básicos (icona da aplicación e similares). Ao final, puxen o código JavaScript principal directamente na aplicación e conseguín polo menos mostrar unha mensaxe de erro personalizada cando o Apple TV non está conectado a Internet.

O terceiro pequeno problema: iOS 9 e con el tvOS esixe estrictamente que todas as comunicacións cara a Internet se realicen cifradas a través de HTTPS. Esta é unha función introducida en iOS 9 para todas as aplicacións e o motivo é a presión sobre a privacidade dos usuarios e a seguridade dos datos. Polo que será necesario despregar un certificado SSL no servidor web. Pódese mercar por tan só 5 dólares (120 coroas) ao ano, ou podes usar, por exemplo, o servizo CloudFlare, que se encargará de HTTPS por si só, de forma automática e sen investimento. A segunda opción é desactivar esta restrición para a aplicación, que é posible por agora, pero definitivamente non o recomendaría.

Despois dunhas horas de lectura da documentación, onde aínda hai pequenos erros ocasionais, elaborei unha aplicación moi básica pero que funciona. Mostraba o texto popular "Ola mundo" e dous botóns. Pasei unhas dúas horas intentando activar o botón e facer algo. Pero tendo en conta as primeiras horas da mañá, preferín durmir... e iso foi bo.

O outro día, tiven a brillante idea de descargar unha aplicación TVML de mostra preparada directamente de Apple. Atopei o que buscaba moi rapidamente no código e o botón estaba activo e funcionando. Entre outras cousas, tamén descubrín en Internet as dúas primeiras partes do titorial de tvOS. Ambos recursos axudaron moito, así que comecei un novo proxecto e comecei a miña primeira aplicación real.

Primeira aplicación real

Comecei completamente de cero, a primeira páxina de TVML. A vantaxe é que Apple preparou 18 modelos TVML preparados para desenvolvedores que só precisan ser copiados da documentación. A edición dun modelo levou aproximadamente unha hora, principalmente porque estaba preparando a nosa API para enviar o TVML rematado con todos os datos necesarios ao Apple TV.

O segundo modelo só levou uns 10 minutos. Engadín dous JavaScripts: a maior parte do código que neles provén directamente de Apple, entón por que reinventar a roda. Apple preparou scripts que se encargan de cargar e mostrar modelos TVML, incluíndo o indicador de carga de contido recomendado e a posible visualización de erros.

En menos de dúas horas, puiden montar unha aplicación PLAY.CZ moi simple pero que funcionaba. Pode mostrar unha lista de emisoras de radio, pode filtrala por xénero e pode iniciar a radio. Si, moitas cousas non están na aplicación, pero o básico funciona.

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

A vantaxe é que a aplicación non é basicamente máis que unha versión especial do sitio web, que funciona con JavaScript e tamén podes usar CSS para modificar a aparencia.

Apple aínda necesita algunhas cousas máis para preparar. A icona da aplicación non é unha, senón dúas: máis pequena e máis grande. A novidade é que a icona non é unha imaxe simple, senón que contén un efecto de paralaxe e está composta de 2 a 5 capas (fondo, obxectos no medio e primeiro plano). Todas as imaxes activas na aplicación poden conter o mesmo efecto.

Cada capa é en realidade só unha imaxe sobre un fondo transparente. Apple preparou a súa propia aplicación para compilar estas imaxes en capas e promete lanzar pronto un complemento de exportación para Adobe Photoshop.

Outro requisito é unha imaxe "Andel superior". Se o usuario coloca a aplicación nunha posición destacada na fila superior (no estante superior), a aplicación tamén debe proporcionar contido para o escritorio enriba da lista de aplicacións. Pode haber só unha imaxe simple ou pode ser unha zona activa, por exemplo cunha lista de películas favoritas ou, no noso caso, emisoras de radio.

Moitos desenvolvedores están empezando a explorar as posibilidades do novo tvOS. A boa noticia é que escribir unha aplicación de contido é moi sinxelo e Apple percorreu un longo camiño para os desenvolvedores con TVML. Crear unha aplicación (por exemplo, PLAY.CZ ou iVyszílő) debería ser sinxelo e rápido. Hai moitas posibilidades de que un gran número de aplicacións estean listas ao mesmo tempo que se pon á venda o novo Apple TV.

Escribir unha aplicación nativa ou portar un xogo de iOS a tvOS será máis difícil, pero non por moito. O maior obstáculo serán os diferentes controis e un límite de 200 MB por aplicación. Unha aplicación nativa só pode descargar unha parte limitada dos datos da tenda, e todo o demais debe descargarse adicionalmente e non hai garantía de que o sistema non elimine estes datos. Non obstante, os desenvolvedores seguramente afrontarán esta limitación rapidamente, tamén grazas á dispoñibilidade dun conxunto de ferramentas denominadas "App Thinning", que tamén forman parte de iOS 9.

Temas: , ,
.