Chiudi l'annuncio

Apple ha presentato la scorsa settimana, tra le altre cose la nuova Apple TV con il sistema operativo tvOS. Il fatto che le applicazioni dell'App Store possano essere installate nella nuova scatola nera ha sicuramente reso gli sviluppatori molto felici.

Gli sviluppatori hanno due opzioni. Possono scrivere un'app nativa che abbia pieno accesso all'hardware di Apple TV. L'SDK disponibile (set di librerie per sviluppatori) è molto simile a quello che gli sviluppatori già conoscono da iPhone, iPad e i linguaggi di programmazione sono gli stessi: Objective-C e il più giovane Swift.

Ma per le applicazioni più semplici, Apple ha offerto agli sviluppatori una seconda opzione sotto forma di TVML - Television Markup Language. Se ritieni che il nome TVML assomigli sospettosamente a HTML, hai ragione. In realtà è un linguaggio di markup basato su XML e molto simile all'HTML, solo che è molto più semplice e ha una sintassi più rigorosa. Ma è assolutamente perfetto per applicazioni come Netflix. E anche gli utenti ne trarranno vantaggio, perché il rigore del TVML farà sì che le applicazioni multimediali abbiano lo stesso aspetto e funzionino allo stesso modo.

Percorso per la prima applicazione

Quindi la prima cosa che ho dovuto fare è stata scaricare la nuova versione beta dell'ambiente di sviluppo Xcode (è disponibile la versione 7.1 qui). Questo mi ha dato accesso all'SDK di tvOS e ho potuto avviare un nuovo progetto rivolto specificamente all'Apple TV di quarta generazione. L’app può essere solo per tvOS oppure il codice può essere aggiunto a un’app iOS esistente per creare un’app “universale” – un modello simile alle attuali app per iPhone e iPad.

Problema uno: Xcode offre solo la possibilità di creare un'app nativa. Ma ho trovato molto rapidamente una sezione nella documentazione che aiuterà gli sviluppatori a modificare questo scheletro e a prepararlo per TVML. In pratica si tratta di poche righe di codice in Swift che, proprio su Apple TV, creano un oggetto a schermo intero e caricano la parte principale dell'app, che è già scritta in JavaScript.

Problema due: le applicazioni TVML sono davvero molto simili ad una pagina web, e quindi tutto il codice viene caricato anche da Internet. L'applicazione stessa è in realtà solo un "bootloader", contiene solo un minimo di codice e gli elementi grafici più elementari (icona dell'applicazione e simili). Alla fine, sono riuscito a inserire con successo il codice JavaScript principale direttamente nell'app e ho avuto la possibilità di visualizzare almeno un messaggio di errore personalizzato quando Apple TV non è connessa a Internet.

Terzo piccolo problema: iOS 9 e con esso tvOS richiede tassativamente che tutte le comunicazioni verso Internet avvengano crittografate tramite HTTPS. Questa è una funzionalità introdotta in iOS 9 per tutte le app e il motivo è la pressione sulla privacy degli utenti e sulla sicurezza dei dati. Quindi sarà necessario distribuire un certificato SSL sul server web. Può essere acquistato per soli 5 dollari (120 corone) all'anno oppure è possibile utilizzare, ad esempio, il servizio CloudFlare, che si occuperà da solo di HTTPS, automaticamente e senza investimenti. La seconda opzione è disattivare questa restrizione per l'applicazione, cosa che per ora è possibile, ma sicuramente non la consiglierei.

Dopo alcune ore di lettura della documentazione, in cui sono ancora presenti errori minori occasionali, ho elaborato un'applicazione molto semplice ma funzionante. Mostrava il popolare testo "Hello World" e due pulsanti. Ho trascorso circa due ore cercando di attivare il pulsante e di fare effettivamente qualcosa. Ma viste le prime ore del mattino, ho preferito andare a dormire… e questo è stato un bene.

L'altro giorno ho avuto la brillante idea di scaricare un'applicazione TVML di esempio già pronta direttamente da Apple. Ho trovato quello che cercavo molto velocemente nel codice e il pulsante era attivo e funzionante. Tra l'altro ho scoperto su Internet anche le prime due parti del tutorial di tvOS. Entrambe le risorse mi hanno aiutato molto, quindi ho iniziato un nuovo progetto e ho avviato la mia prima vera applicazione.

Prima vera applicazione

Ho iniziato completamente da zero, la prima pagina TVML. Il vantaggio è che Apple ha preparato 18 modelli TVML già pronti per gli sviluppatori che devono solo essere copiati dalla documentazione. La modifica di un modello ha richiesto circa un'ora, principalmente perché stavo preparando la nostra API per inviare il TVML finito con tutti i dati necessari all'Apple TV.

Il secondo modello ha richiesto solo circa 10 minuti. Ho aggiunto due JavaScript: la maggior parte del codice in essi contenuto proviene direttamente da Apple, quindi perché reinventare la ruota. Apple ha preparato degli script che si occupano del caricamento e della visualizzazione dei modelli TVML, incluso l'indicatore di caricamento del contenuto consigliato e la possibile visualizzazione degli errori.

In meno di due ore sono riuscito a mettere insieme un'applicazione PLAY.CZ molto semplice ma funzionante. Può visualizzare un elenco di stazioni radio, può filtrarle per genere e può avviare la radio. Sì, molte cose non sono presenti nell'app, ma le basi funzionano.

[youtube id=”kLKvWC-rj7Q” larghezza=”620″ altezza=”360″]

Il vantaggio è che l'applicazione non è altro che una versione speciale del sito web, che funziona con JavaScript e puoi anche utilizzare CSS per modificarne l'aspetto.

Apple richiede ancora alcune cose da preparare. L'icona dell'applicazione non è una, ma due: più piccola e più grande. La novità è che l'icona non è una semplice immagine, ma contiene un effetto di parallasse ed è composta da 2 a 5 strati (sfondo, oggetti al centro e primo piano). Tutte le immagini attive nell'applicazione possono contenere lo stesso effetto.

Ogni livello è in realtà solo un'immagine su uno sfondo trasparente. Apple ha preparato la propria applicazione per compilare queste immagini a strati e promette di rilasciare presto un plug-in di esportazione per Adobe Photoshop.

Un altro requisito è un'immagine "Top Shelf". Se l'utente posiziona l'app in una posizione di rilievo nella riga superiore (sullo scaffale più alto), l'app deve fornire anche contenuti per il desktop sopra l'elenco delle app. Può esserci solo una semplice immagine oppure può essere un'area attiva, ad esempio con l'elenco dei film preferiti o, nel nostro caso, delle stazioni radio.

Molti sviluppatori stanno appena iniziando a esplorare le possibilità del nuovo tvOS. La buona notizia è che scrivere un'app di contenuti è molto semplice e Apple ha fatto molto per gli sviluppatori con TVML. Costruire un'applicazione (ad esempio PLAY.CZ o iVyszílő) dovrebbe essere facile e veloce. Contemporaneamente alla messa in vendita della nuova Apple TV c'è una buona probabilità che un gran numero di applicazioni siano pronte.

Scrivere un'app nativa o trasferire un gioco da iOS a tvOS sarà più impegnativo, ma non di molto. L’ostacolo più grande saranno i diversi controlli e un limite di 200 MB per app. Un'applicazione nativa può scaricare solo una parte limitata dei dati dallo store, tutto il resto deve essere scaricato in aggiunta e non vi è alcuna garanzia che il sistema non eliminerà questi dati. Tuttavia gli sviluppatori riusciranno sicuramente a far fronte a questa limitazione in tempi brevi, anche grazie alla disponibilità di un set di strumenti chiamati "App Thinning", anch'essi parte di iOS 9.

Temi: , ,
.