Questo documento nasce come una raccolta di appunti... Magari un giorno diventera' un documento serio ma al momento e' solo un riferimento su quanto ho scoperto per sviluppare sull'ambiente Samsung SmartTV (4.1) [NdE 2013-08 ora e' disponibile e consigliata la versione 4.5] sul mio Mac (10.6).
I modelli piu' completi e recenti di Samsung vengono definiti SmartTV poiche' possono
ospitare applicazioni. Le applicazioni sono web-based, vengono scaricate sul TV da
Internet e vengono eseguite dall'App Engine.
L'installazione delle applicazioni, la loro cancellazione, ... viene gestita
con l'Application Manager.
Dal punto di vista tecnico le applicazioni sono molto simili a pagine HTML
ed utilizzano in modo significativo CSS e JavaScript.
Inoltre le API fornite consentono un controllo delle varie funzioni della TV.
L'SDK descritto in questa pagina
e' l'ambiente di sviluppo che consente di sviluppare le applicazioni
per le Smart TV Samsung.
Samsung pubblica l'SDK per Mac OS e Linux oltre che per Windows. Per Mac il formato e' un .pkg facilmente installabile rispondendo ad alcune semplici domande (eg. accettare la licenza e confermare il PATH) ma... non funziona! Con un click su "/Samsung_TV_SDK_4_Mac/"Samsung Smart TV SDK Editor" il messaggio risultante e' The alias "Samsung Smart TV SDK Editor " can't be opened because the original item can't be found. Il problema e' che si tratta di un'estensione di Eclipse... ed Eclipse va installato!
Oltre alla documentazione ufficiale di Samsung e' utile anche questa nota. Riassumendo ecco i passi da seguire:
Il risultato dell'installazione sono l'IDE di eclipse e l'emulatore della TV con un'applicazione:
Una Smart TV App e' un'applicazione che viene eseguita sul TV e che ha accesso alle risorse della Smart TV.
Le applicazioni sono web-based, vengono scaricate sul TV da
Internet e vengono eseguite dall'App Engine.
Sulla TV l'installazione delle applicazioni, la loro cancellazione, ... viene gestita
con l'Application Manager.
Dal punto di vista tecnico le applicazioni sono simili a pagine HTML
ed utilizzano in modo significativo CSS e JavaScript.
Inoltre le API fornite consentono un controllo delle varie funzioni della TV.
Tuttavia oltre alle analogie sono presenti significative differenze.
L'App Engine non e' un browser e le pagine non sono legate tra loro con iperlink
per navigare tra esse. Ogni applicazione ha una struttura specifica e precisa che
va rispettata (eg. index.html, widget.info, config.xml, ...).
Le applicazioni vengono programmate in JavaScript ed e' disponibile un'ampia
libreria di funzioni per interagire con il TV.
Ovviamente sono particolarmente ricche le funzionalita' multimediali...
Per lo sviluppo di un'applicazione sul sito http://www.samsungdforum.com/Guide/ si trovano tutorial, applicazioni di esempio e la reference delle API.
In ogni caso lo sviluppo di un'applicazione, partendo dagli esempi disponibili, e' piuttosto facile grazie all'ambiente completo ed accessibile di Eclipse.
Un'applicazione minimale e' costituita dai file: config.xml index.html Sono inoltre richiesti i file JavaScript (eg. Main.js), i file CSS (eg. Main.css) e gli eventuali, ma praticamente sempre presenti, file con le immagini.
L'applicazione realizzata puo' essere provata sull'emulatore durante la fase di sviluppo. La modalita' e' molto semplice: la VM su VirtualBox condivide il Folder in cui si sviluppano le App e quindi il menu del bottone "Open App" riporta l'elenco di tutti i progetti Eclipse in sviluppo.
Arrivando alla fase finale di sviluppo dell'applicazione e' opportuno anche un test su una TV reale. L'ambiente sul TV presenta alcune differenze rispetto all'emulatore... in particolare:
Ho trovato utili i seguenti link:
Titolo: Note su Samsung SmartTV SDK
Livello: Avanzato
Data:
14 Febbraio 2013
Versione: 1.0.2 - 14 Febbraio 2013
Autore: mail [AT] meo.bogliolo.name