Apple na semana passada ele apresentou, entre outras coisas um novo Apple TV com o sistema operacional tvOS. A maior alegria para os desenvolvedores foi certamente o fato de poderem instalar aplicativos a partir App Store.
Os desenvolvedores têm duas opções. Eles podem escrever um aplicativo nativo que tenha acesso total ao hardware Apple TV. O SDK (conjunto de bibliotecas para desenvolvedores) disponível é muito semelhante ao que os desenvolvedores já conhecem do iPhone, iPad, e até as linguagens de programação são as mesmas - Objective-C e mais novas Swift.
Mas para aplicações mais simples Apple ofereceu aos desenvolvedores uma segunda opção na forma de TVML – Television Linguagem de marcação. Se você acha que o nome TVML é suspeitosamente parecido com HTML, você está certo. Na verdade, é uma linguagem de marcação baseada em XML e muito semelhante ao HTML, só que muito mais simples e com uma sintaxe mais rigorosa. Mas é absolutamente ideal para aplicativos como o Netflix. E os usuários também se beneficiarão disso, porque, graças ao rigor do TVML, os aplicativos multimídia terão aparência e funcionamento muito semelhantes.
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 a tvOS SDK e poderia assim estabelecer um novo projeto voltado precisamente para Apple TV quarta geração. A aplicação só pode ser para tvOS ou é possível adicionar este código a um aplicativo existente para iOS e assim criar uma aplicação “universal” – o modelo é semelhante às aplicações atuais para iPhone e iPads.
Problema um: o Xcode só oferece a opção de criar um aplicativo nativo. No entanto, rapidamente encontrei uma seção na documentação que ajudará os desenvolvedores a alterar essa estrutura e prepará-la para o TVML. Basicamente são algumas linhas de código em Swiftem que somente Apple TV cria um objeto de tela cheia e carrega a parte principal do aplicativo, que já está escrita em JavaScript.
Problema dois: os aplicativos TVML são muito semelhantes a um site, e é por isso que todo o código é carregado da Internet. O aplicativo em si é na verdade apenas um "bootloader", ele contém apenas minicódigo e os elementos gráficos mais básicos (ícone do aplicativo, etc.). Finalmente, inseri com sucesso a parte principal do código JavaScript diretamente no aplicativo e, assim, ganhei a capacidade de pelo menos exibir uma mensagem de erro personalizada quando não estiver Apple TV conectado à internet.
Terceiro pequeno problema: iOS 9 e com ele também tvOS exige estritamente que toda comunicação com a internet seja criptografada via HTTPS. Este é um recurso introduzido em iOS 9 para todas as aplicações e o motivo é a pressão sobre a privacidade do usuário e a segurança dos dados transmitidos. Portanto, será necessário implantar um certificado SSL no servidor web. Você pode obtê-lo por apenas $ 5 (120 CZK) por ano ou pode usar um serviço como CloudFlare, que cuida do HTTPS, automaticamente e sem investimento. A segunda opção é desabilitar essa restrição para o aplicativo, o que atualmente é possível, 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 aplicativo TVML de exemplo pronto diretamente do Applu. Encontrei o que estava procurando muito rapidamente no código, e o botão estava ativo e funcionando. Entre outras coisas, também descobri as duas primeiras partes de um tutorial sobre como tvOS. Ambas as fontes foram muito úteis, então comecei um novo projeto e comecei a trabalhar na minha primeira aplicação real.
Primeira aplicação real
Comecei completamente do zero, a primeira página do TVML. A vantagem é que Apple preparou 18 modelos 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 que pudesse Apple TV envie o TVML finalizado incluindo todos os dados necessários.
O segundo modelo levou apenas cerca de 10 minutos. Adicionei dois JavaScripts - a maior parte do código neles vem diretamente de Applu, então por que reinventar a roda? Apple scripts preparados 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.
Apple ainda requer 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. 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 Apple foi muito contra os 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, ao mesmo tempo que as novas vendas comecem Apple TV um grande número de aplicações também serão preparadas.
Escreva um aplicativo nativo ou transfira um jogo de iOS na tvOS Será mais difícil, mas não tanto. O maior obstáculo serão os controles diferentes e uma limitação de 200 MB por aplicativo. Um aplicativo nativo só pode baixar uma parte limitada de dados da loja e deve baixar todo o resto adicionalmente, e não tem garantia de que o sistema não excluirá esses dados. No entanto, os desenvolvedores certamente conseguirão superar rapidamente essa limitação, graças à disponibilidade de um kit de ferramentas chamado "App "Desbaste", que também fazem parte do iOS 9.
Belo artigo. Obrigado. Talvez veremos de vez em quando Apple e uma solução de usuário para preparar aplicações mais simples (soluções), como é possível com o FileMaker para iOSsem ser um desenvolvedor.
Teoricamente… aquele Swift loader tem algumas linhas que ainda são as mesmas, apenas a URL do primeiro arquivo TVML muda. Se alguém estiver disposto, provavelmente poderá escrever um script que possa executar remotamente uma compilação com sua URL e enviar de volta um arquivo IPA. Ou se você tem mac, não há problema em enviar o projeto, basta colar a URL e executar a compilação. A vantagem é que, se o TVML estiver fora do aplicativo, você só precisará de uma compilação pública e possivelmente uma compilação privada (de desenvolvimento), e só poderá alterar o TVML no servidor e, portanto, o funcionamento do aplicativo.
“A aplicação só pode ser para tvOS ou é possível adicionar este código a um aplicativo existente para iOS e assim criar uma aplicação “universal” – o modelo é semelhante às aplicações atuais para iPhone e iPads.”
Eu ficaria interessado em saber o que você quer dizer? Eu, pessoalmente, não encontrei em lugar nenhum uma maneira de criar uma construção que tenha universal. iPhone, iPad e Apple TV.. como são SDKs separados (semelhantes ao OSX), você precisa de um alvo extra para tvOS e, portanto, também uma construção separada... estou esquecendo de algo?
no Xcode 7.1 você pode adicionar tvOS aplicação como outro alvo para um projeto existente – semelhante às aplicações para Apple Watch ou talvez um widget para o centro de notificações. Mas ainda não sei como será carregado na loja... Presumo que o Xcode enviará um pacote e App Store então eles vão dividir... Provavelmente semelhante ao que estão fazendo agora com o Watch
não... na minha opinião são duas coisas completamente diferentes... assistir é uma extensão... ou pelo menos até lá watchOS 2.0 foi... foi dado junto com o alvo iOS e nem funcionou sem um iPhone.. ATV é uma entidade separada.. Estou pensando se a construção do ATV será separada (talvez paga por 2$) e além disso iOS pago por 2$, ou será possível fazer uma construção universal de 2$ em iOS e ATV.. agora me parece que não, porque nem iOS A Target não oferece uma família de dispositivos para ATVs.
então o lançamento real será exibido, mas realmente se comporta da mesma maneira que deveria Apple Watch código. Caso contrário, é diretamente na documentação que você pode adicionar o código para tvOS no aplicativo existente e será possível vender um apppara (uma entidade em App Store) profissional iOS i tvOS simultaneamente – uma compra para o cliente, ou como uma entidade separada – compra separada para iOS e para tvOS.
Só para esclarecer, não são 200 MB por aplicativo, mas 200 MB armazenados localmente e o restante baixado da rede quando necessário
Obrigado, foi o que pensei, mas provavelmente escrevi errado. Tudo acima de 200 MB (ou tudo baixado adicionalmente) é armazenado como cache e se o sistema decidir que está ficando sem espaço, ele começa a excluí-lo - o que provavelmente não acontecerá até que haja espaço livre suficiente e então o conteúdo menos usado será excluído, então na prática provavelmente não será um grande problema.
O que mais preciso descobrir é que supostamente esse limite não se aplica a jogos, ou o jogo pode ter mais de 200 MB na base. Mas ainda não sei exatamente como isso significa exatamente. É bem possível que Apple ainda está editando esta política com base no feedback dos desenvolvedores.
hehe Pokémon TCG – 4 GB, Ordem do caos online – 1,6 GB Hearthstone 1,3 GB Estou muito curioso sobre isso.
informação apareceumace que os jogos têm um modo especial. Estou juntando os detalhes agora e adicionaremos ao artigo.
Não consigo, e peço desculpas antecipadamente se ofendi alguém, mas só tenho uma alegria enorme, sincera e inalterada que queria compartilhar com vocês...
No dia seguinte ao anúncio da notícia Apple TV Não fiquei com preguiça e me inscrevi na loteria (ou será que vou?) Apple com a possibilidade de obter o Developer Kit antes mesmo de ser colocado à venda.
Ontem à noite eu Apple ele escreveu que me escolheu para o primeiro lote :)
Portanto, não sou o mesmo autor deste artigo e, honestamente, trabalho duro na Pré-escola Brasnicce por Apple TV – disponível na sua área App Store durante a chuva :)
então tenho a sensação de que todos que se cadastraram provavelmente conseguiram :) Também fiz o pedido ontem e estou muito, muito ansioso por isso... E conheço mais uma pessoa que também está esperando a entrega dele...
De qualquer forma, até agora parece que provavelmente haverá muitos aplicativos quando as vendas começarem :)
Provavelmente todo mundo não sabe - eles não me deram :(
:( Eu sinto muito por voce.
Se alguém quiser, tenho oito adesivos brancos Apple… Posso enviar por correio…