Anuncio cerrado

Apple presentó la semana pasada, entre otras cosas. el nuevo Apple Tv con el sistema operativo tvOS. El hecho de que las aplicaciones de la App Store se puedan instalar en la nueva caja negra ciertamente hizo que los desarrolladores estuvieran muy contentos.

Los desarrolladores tienen dos opciones. Pueden escribir una aplicación nativa que tenga acceso completo al hardware del Apple TV. El SDK (conjunto de bibliotecas para desarrolladores) disponible es muy similar a lo que los desarrolladores ya conocen del iPhone, iPad y los lenguajes de programación son los mismos: Objective-C y el Swift más joven.

Pero para aplicaciones más simples, Apple ofreció a los desarrolladores una segunda opción en forma de TVML (lenguaje de marcado de televisión). Si cree que el nombre TVML se parece sospechosamente a HTML, tiene razón. Realmente es un lenguaje de marcado basado en XML y muy similar a HTML, solo que es mucho más simple y tiene una sintaxis más estricta. Pero es absolutamente perfecto para aplicaciones como Netflix. Y los usuarios también se beneficiarán, porque el rigor de TVML hará que las aplicaciones multimedia se vean y funcionen de forma muy parecida.

Camino a la primera aplicación.

Así que lo primero que tuve que hacer fue descargar la nueva versión beta del entorno de desarrollo Xcode (la versión 7.1 está disponible aquí). Esto me dio acceso al SDK de tvOS y pude iniciar un nuevo proyecto dirigido específicamente al Apple TV de cuarta generación. La aplicación puede ser solo para tvOS o el código puede agregarse a una aplicación iOS existente para crear una aplicación “universal”, un modelo similar a las aplicaciones actuales para iPhone y iPad.

Problema uno: Xcode solo ofrece la posibilidad de crear una aplicación nativa. Pero rápidamente encontré una sección en la documentación que ayudará a los desarrolladores a cambiar este esqueleto y prepararlo para TVML. Básicamente, son unas pocas líneas de código en Swift que, solo en el Apple TV, crean un objeto de pantalla completa y cargan la parte principal de la aplicación, que ya está escrita en JavaScript.

Problema dos: las aplicaciones TVML son realmente muy similares a una página web y, por lo tanto, todo el código también se carga desde Internet. La aplicación en sí es en realidad sólo un "cargador de arranque", contiene sólo un mínimo de código y los elementos gráficos más básicos (icono de la aplicación y similares). Al final, puse con éxito el código JavaScript principal directamente en la aplicación y obtuve la capacidad de al menos mostrar un mensaje de error personalizado cuando el Apple TV no está conectado a Internet.

El tercer pequeño problema: iOS 9 y con él tvOS exigen estrictamente que toda comunicación hacia Internet se realice cifrada a través de HTTPS. Esta es una característica introducida en iOS 9 para todas las aplicaciones y el motivo es la presión sobre la privacidad del usuario y la seguridad de los datos. Por lo que será necesario implementar un certificado SSL en el servidor web. Se puede adquirir por tan solo 5 dólares (120 coronas) al año, o puedes utilizar, por ejemplo, el servicio CloudFlare, que se encargará de HTTPS por sí solo, de forma automática y sin inversión. La segunda opción es desactivar esta restricción para la aplicación, lo cual es posible por ahora, pero definitivamente no lo recomendaría.

Después de unas horas de leer la documentación, donde todavía hay errores menores ocasionales, elaboré una aplicación muy básica pero funcional. Mostraba el popular texto "Hola mundo" y dos botones. Pasé aproximadamente dos horas tratando de activar el botón y hacer algo. Pero considerando las primeras horas de la mañana, preferí irme a dormir… y eso fue algo bueno.

El otro día, tuve la brillante idea de descargar una aplicación TVML de muestra ya preparada directamente desde Apple. Encontré lo que estaba buscando muy rápidamente en el código y el botón estaba activo y funcionando. Entre otras cosas, también descubrí las dos primeras partes del tutorial de tvOS en Internet. Ambos recursos me ayudaron mucho, así que comencé un nuevo proyecto y comencé mi primera aplicación real.

Primera aplicación real

Empecé completamente desde cero, la primera página de TVML. La ventaja es que Apple ha preparado 18 plantillas TVML listas para usar para desarrolladores que sólo hay que copiar de la documentación. Editar una plantilla me llevó aproximadamente una hora, principalmente porque estaba preparando nuestra API para enviar el TVML terminado con todos los datos necesarios al Apple TV.

La segunda plantilla sólo tardó unos 10 minutos. Agregué dos JavaScripts; la mayor parte del código que contienen proviene directamente de Apple, entonces, ¿por qué reinventar la rueda? Apple ha preparado scripts que se encargan de cargar y mostrar las plantillas TVML, incluido el indicador de carga de contenido recomendado y la posible visualización de errores.

En menos de dos horas, pude crear una aplicación PLAY.CZ muy básica pero funcional. Puede mostrar una lista de estaciones de radio, puede filtrarla por género y puede iniciar la radio. Sí, muchas cosas no están en la aplicación, pero lo básico funciona.

[id de youtube =”kLKvWC-rj7Q” ancho =”620″ alto =”360″]

La ventaja es que la aplicación no es más que una versión especial del sitio web, que funciona con JavaScript y también puedes usar CSS para modificar la apariencia.

Apple todavía necesita algunas cosas más para prepararse. El ícono de la aplicación no es uno, sino dos: más pequeño y más grande. La novedad es que el icono no es una simple imagen, sino que contiene un efecto de paralaje y está compuesto de 2 a 5 capas (fondo, objetos en el medio y primer plano). Todas las imágenes activas en la aplicación pueden contener el mismo efecto.

En realidad, cada capa es solo una imagen sobre un fondo transparente. Apple ha preparado su propia aplicación para compilar estas imágenes en capas y promete lanzar pronto un complemento de exportación para Adobe Photoshop.

Otro requisito es una imagen de "estante superior". Si el usuario coloca la aplicación en una posición destacada en la fila superior (en el estante superior), la aplicación también debe proporcionar contenido para el escritorio encima de la lista de aplicaciones. Puede ser una simple imagen o puede ser un área activa, por ejemplo con una lista de películas favoritas o, en nuestro caso, estaciones de radio.

Muchos desarrolladores apenas están comenzando a explorar las posibilidades del nuevo tvOS. La buena noticia es que escribir una aplicación de contenido es muy fácil y Apple ha recorrido un largo camino para los desarrolladores con TVML. Crear una aplicación (por ejemplo PLAY.CZ o iVyszílő) debería ser fácil y rápido. Es muy probable que una gran cantidad de aplicaciones estén listas al mismo tiempo que sale a la venta el nuevo Apple TV.

Escribir una aplicación nativa o migrar un juego de iOS a tvOS será más desafiante, pero no mucho. El mayor obstáculo serán los diferentes controles y un límite de 200 MB por aplicación. Una aplicación nativa solo puede descargar una parte limitada de los datos de la tienda, y todo lo demás debe descargarse adicionalmente, y no hay garantía de que el sistema no elimine estos datos. Sin embargo, los desarrolladores seguramente solucionarán esta limitación rápidamente, también gracias a la disponibilidad de un conjunto de herramientas llamadas "App Thinning", que también forman parte de iOS 9.

Temas: , ,
.