Anúncio fechado

A Apple apresentou na semana passada, entre outras coisas o novo AppleTV com o sistema operacional tvOS. O fato de aplicativos da App Store poderem ser instalados na nova caixa preta certamente deixou os desenvolvedores mais felizes.

Os desenvolvedores têm duas opções. Eles podem escrever um aplicativo nativo que tenha acesso total ao hardware da Apple TV. O SDK (conjunto de bibliotecas para desenvolvedores) disponível é muito semelhante ao que os desenvolvedores já conhecem do iPhone, iPad, e as linguagens de programação são as mesmas - Objective-C e o Swift mais jovem.

Mas para aplicações mais simples, a Apple ofereceu aos desenvolvedores uma segunda opção na forma de TVML – Television Markup Language. Se você acha que o nome TVML parece suspeito com HTML, você está certo. É realmente uma linguagem de marcação baseada em XML e muito semelhante ao HTML, só que é muito mais simples e possui uma sintaxe mais rígida. Mas é absolutamente perfeito para aplicativos como o Netflix. E os usuários também serão beneficiados, porque o rigor do TVML fará com que os aplicativos multimídia tenham a mesma aparência e funcionem da mesma forma.

Caminho para o primeiro aplicativo

Então a primeira coisa que tive que fazer foi baixar a nova versão beta do ambiente de desenvolvimento Xcode (a versão 7.1 está disponível aqui). Isso me deu acesso ao tvOS SDK e pude iniciar um novo projeto voltado especificamente para a Apple TV de quarta geração. O aplicativo pode ser apenas tvOS ou o código pode ser adicionado a um aplicativo iOS existente para criar um aplicativo “universal” – um modelo semelhante aos aplicativos para iPhone e iPad atuais.

Problema um: o Xcode oferece apenas a capacidade de criar um aplicativo nativo. Mas rapidamente encontrei uma seção na documentação que ajudará os desenvolvedores a mudar esse esqueleto e prepará-lo para TVML. Basicamente, são algumas linhas de código em Swift que, apenas no Apple TV, criam um objeto de tela cheia e carregam a parte principal do app, que já está escrita em JavaScript.

Problema dois: os aplicativos TVML são muito parecidos com uma página da web e, portanto, todo o código é carregado da Internet. O aplicativo em si é na verdade apenas um "bootloader", contém apenas um mínimo de código e os elementos gráficos mais básicos (ícone do aplicativo e similares). No final, coloquei com sucesso o código JavaScript principal diretamente no aplicativo e consegui pelo menos exibir uma mensagem de erro personalizada quando o Apple TV não estava conectado à Internet.

O terceiro pequeno problema: o iOS 9 e com ele o tvOS exigem estritamente que toda a comunicação com a Internet seja criptografada via HTTPS. Este é um recurso introduzido no iOS 9 para todos os aplicativos e o motivo é a pressão sobre a privacidade do usuário e a segurança dos dados. Portanto será necessário implantar um certificado SSL no servidor web. Ele pode ser adquirido por apenas US$ 5 (120 coroas) por ano, ou você pode usar, por exemplo, o serviço CloudFlare, que cuidará do HTTPS sozinho, de forma automática e sem investimento. A segunda opção é desativar essa restrição do aplicativo, o que é possível por enquanto, mas eu definitivamente não recomendaria.

Depois de algumas horas lendo a documentação, onde ainda existem pequenos erros ocasionais, desenvolvi uma aplicação muito básica, mas funcional. Ele exibia o popular texto “Hello World” e dois botões. Passei cerca de duas horas tentando ativar o botão e realmente fazer alguma coisa. Mas considerando as primeiras horas da manhã, preferi dormir… e isso foi bom.

Outro dia, tive a brilhante ideia de baixar um exemplo de aplicativo TVML pronto para uso diretamente da Apple. Encontrei o que procurava muito rapidamente no código e o botão estava ativo e funcionando. Entre outras coisas, também descobri as duas primeiras partes do tutorial do tvOS na Internet. Ambos os recursos ajudaram muito, então iniciei um novo projeto e comecei minha primeira aplicação real.

Primeira aplicação real

Comecei completamente do zero, a primeira página do TVML. A vantagem é que a Apple preparou 18 modelos de TVML prontos para desenvolvedores que só precisam ser copiados da documentação. A edição de um modelo demorou cerca de uma hora, principalmente porque eu estava preparando nossa API para enviar o TVML finalizado com todos os dados necessários para o Apple TV.

O segundo modelo levou apenas cerca de 10 minutos. Eu adicionei dois JavaScripts - a maior parte do código neles vem diretamente da Apple, então por que reinventar a roda? A Apple preparou scripts que cuidam do carregamento e exibição de modelos TVML, incluindo o indicador de carregamento de conteúdo recomendado e possível exibição de erros.

Em menos de duas horas, consegui montar um aplicativo PLAY.CZ muito simples, mas funcional. Ele pode exibir uma lista de estações de rádio, filtrá-la por gênero e iniciar o rádio. Sim, muitas coisas não estão no aplicativo, mas o básico funciona.

[youtube id=”kLKvWC-rj7Q” largura=”620″ altura=”360″]

A vantagem é que o aplicativo nada mais é do que uma versão especial do site, que é alimentada por JavaScript e você também pode usar CSS para modificar a aparência.

A Apple ainda precisa de mais algumas coisas para preparar. O ícone do aplicativo não é um, mas dois - menor e maior. A novidade é que o ícone não é uma simples imagem, mas contém efeito de paralaxe e é composto de 2 a 5 camadas (fundo, objetos do meio e primeiro plano). Todas as imagens ativas no aplicativo podem conter o mesmo efeito.

Cada camada é na verdade apenas uma imagem em um fundo transparente. A Apple preparou seu próprio aplicativo para compilar essas imagens em camadas e promete lançar em breve um plugin de exportação para Adobe Photoshop.

Outro requisito é uma imagem de “prateleira superior”. Se o usuário colocar o aplicativo em uma posição de destaque na linha superior (na prateleira superior), o aplicativo também deverá fornecer conteúdo para a área de trabalho acima da lista de aplicativos. Pode ser apenas uma simples imagem ou pode ser uma área ativa, por exemplo com uma lista de filmes favoritos ou, no nosso caso, estações de rádio.

Muitos desenvolvedores estão apenas começando a explorar as possibilidades do novo tvOS. A boa notícia é que escrever um aplicativo de conteúdo é muito fácil, e a Apple percorreu um longo caminho para desenvolvedores com TVML. Construir uma aplicação (por exemplo PLAY.CZ ou iVyszílő) deve ser fácil e rápido. Há uma boa chance de que um grande número de aplicativos esteja pronto ao mesmo tempo que o novo Apple TV for colocado à venda.

Escrever um aplicativo nativo ou portar um jogo do iOS para o tvOS será mais desafiador, mas não muito. O maior obstáculo serão os controles diferentes e um limite de 200 MB por aplicativo. Um aplicativo nativo pode baixar apenas uma parte limitada dos dados da loja, e todo o resto deve ser baixado adicionalmente, e não há garantia de que o sistema não excluirá esses dados. Porém, os desenvolvedores certamente lidarão com essa limitação rapidamente, também graças à disponibilidade de um conjunto de ferramentas chamado “App Thinning”, que também faz parte do iOS 9.

Tópicos: , ,
.