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.
Buen articulo. Gracias. Quizás con el tiempo veamos de Apple también una solución de usuario para preparar aplicaciones (soluciones) más sencillas, como es posible con FileMaker para iOS, sin que yo sea desarrollador.
En teoría… el cargador Swift tiene algunas líneas que siguen siendo las mismas, solo cambia la URL del primer archivo TVML. Si alguien quiere, probablemente pueda escribir un script que pueda ejecutar de forma remota una compilación con su URL y enviar un archivo IPA. O si tienes una Mac, no hay problema en enviar el proyecto, donde simplemente colocas la URL y comienzas la compilación. La ventaja es que si TVML está fuera de la aplicación, en realidad solo necesita una compilación pública y posiblemente una compilación privada (de desarrollo), y solo puede cambiar el TVML en el servidor y, por lo tanto, el funcionamiento de la aplicación.
"La aplicación puede ser sólo para tvOS, o el código puede agregarse a una aplicación iOS existente para crear una aplicación 'talla única', un modelo similar a las aplicaciones actuales para iPhone y iPad".
¿Me pregunto qué quieres decir? Personalmente, no he encontrado en ninguna parte una manera de crear una compilación que incluya iPhone, iPad y Apple TV universales. Dado que son SDK separados (similares a OSX), necesita un objetivo adicional para tvOS y, por lo tanto, también una compilación separada. ¿Me falta algo?
en Xcode 7.1, las aplicaciones tvOS se pueden agregar como otro objetivo a un proyecto ya existente, similar a las aplicaciones para Apple Watch o quizás un widget para el centro de notificaciones. Sin embargo, todavía no sé cómo se cargará en la tienda... Supongo que Xcode enviará un paquete y la App Store luego lo dividirá... Probablemente similar a lo que hacen ahora con el Watch.
noo... en mi opinión, estas son 2 cosas completamente diferentes... watch es una extensión... o al menos lo era hasta watchOS 2.0... se proporcionó junto con el objetivo de iOS y ni siquiera funcionaba sin un iPhone... ATV es una entidad separada... de eso estoy hablando, si la compilación para ATV será separada (debe pagar 2$) y además iOS pagó 2$, o será posible otorgar una entidad universal Compilación de 2$ para iOS y ATV. Familia para ATV.
entonces se mostrará el lanzamiento real, pero en realidad se comporta igual que el código del Apple Watch, por ejemplo. De lo contrario, la documentación establece que será posible agregar código para tvOS a la aplicación existente y, por lo tanto, será posible vender una aplicación (una entidad en la App Store) para iOS y tvOS al mismo tiempo: una compra por el cliente, o como una entidad separada: una compra separada para iOS y tvOS.
Solo para aclarar, no son 200 MB por aplicación, sino 200 MB almacenados localmente y el resto descargado de la red cuando sea necesario.
Gracias, eso es lo que pensé, pero probablemente lo escribí mal. Todo lo que supere los 200 MB (o todo lo que se descargue adicionalmente) se almacena como caché y si el sistema decide que se está quedando sin espacio, comienza a eliminarlo, lo que probablemente no sucederá hasta que haya suficiente espacio libre y luego el contenido menos utilizado. se eliminará, por lo que en la práctica probablemente no será un gran problema.
Que más tengo que averiguar, supuestamente este límite no aplicará para juegos, o el juego podría tener más de 200 MB en la base. Pero todavía no sé exactamente qué significa esto exactamente. Es muy posible que Apple todavía esté ajustando esta política según los comentarios de los desarrolladores.
jeje Pokemon TCG – 4 GB, Caos de pedidos en línea – 1,6 GB Hearthstone 1,3 GB Tengo mucha curiosidad por esto.
Hubo información de que los juegos tienen un modo especial. Estoy reuniendo los detalles ahora y completaremos el artículo.
No puedo hacerlo, y pido disculpas de antemano si ofendo a alguien, pero simplemente tengo una alegría enorme, sincera y genuina que quería compartir con ustedes...
El día después del anuncio del nuevo Apple TV no fui perezoso y me apunté a la lotería de Apple (¿elijo?) con la posibilidad de obtener un Developer Kit incluso antes de que salga a la venta.
Ayer por la tarde Apple me escribió diciéndome que me había seleccionado para el primer lote :)
Entonces, no soy el mismo autor de este artículo y, honestamente, estoy trabajando en Preschool Brasnicce para Apple TV, disponible en su App Store durante octubre :)
así que tengo la sensación de que todos los que se registraron probablemente lo recibieron :) También hice el pedido ayer y tengo muchas, muchas ganas de que llegue... Y conozco a una persona más que también está esperando su entrega...
De todos modos, hasta ahora parece que probablemente habrá muchas aplicaciones cuando comiencen las ventas :)
Probablemente todos no lo hagan, no me lo dieron :(
:( Lo siento por usted.
Si alguien quiere, tengo ocho pegatinas blancas de Apple... puedo enviarlas por correo...