@dev-matru/nova
v0.1.0
Published
Nova — app TizenBrew in stile streaming (NFlix-like) con navigazione nativa da telecomando. Hello World con dati e immagini mock.
Maintainers
Readme
Nova — modulo TizenBrew (Hello World stile streaming)
App TizenBrew di tipo app con interfaccia in stile streaming (Netflix-like),
navigazione nativa da telecomando (spatial navigation), dati e immagini mock.
Pensata come primo modulo "Hello World" da pubblicare su npm e lanciare da TizenBrew.
Testata su Samsung QE65S90D (Tizen OS 9.0) con TizenBrew v2.0.5.
Struttura
tizenbrew-hello-world/
├── package.json # manifest del modulo TizenBrew
└── app/
├── index.html # entry point (appPath)
├── css/style.css # tema TV 1920x1080
└── js/
├── data.js # catalogo mock (titoli/immagini/metadati)
├── navigation.js # spatial navigation + tasti telecomando
└── app.js # rendering UI + collegamento comandiFunzionalità
- Sezioni navigabili: Home, Serie TV, Film, La mia lista, Cerca
- Header con logo, menu (sezione attiva evidenziata) e orologio
- Hero in evidenza con pulsanti Riproduci / La mia lista
- Righe orizzontali di card scrollabili, con messa a fuoco animata
- Continua a guardare con barra di avanzamento sulle card
- Ricerca con tastiera a schermo e risultati filtrati in tempo reale
- La mia lista persistente (salvata in
localStorage) con badge ✓ sulle card - Viste Film / Serie TV in griglia a capo
- Modale di dettaglio (OK/Invio su una card)
- Finto player a schermo intero (tasto Play/Pause)
- Overlay guida tasti (tasto Rosso)
- Indietro: chiude overlay → torna alla Home → doppia pressione esce
Controlli telecomando
| Tasto | Azione | |---|---| | D-Pad ▲▼◀▶ | Naviga tra gli elementi | | OK / Invio | Apri il dettaglio / conferma / digita (in Cerca) | | Indietro | Chiudi overlay · da sotto-vista torna a Home · doppia pressione = esci | | Play/Pause | Anteprima riproduzione | | 🔴 Rosso | Mostra/nascondi la guida tasti | | 🟡 Giallo | Apri "La mia lista" | | 🔵 Blu | Info sul titolo a fuoco |
I tasti speciali (colorati, media) sono dichiarati in package.json → keys e
vengono registrati da TizenBrew tramite la TVInputDevice API. Le frecce, OK e
Indietro sono gestite nativamente dalla webview.
Sviluppo locale (veloce, senza TV)
npx http-server ./app -p 8080 -c-1
# poi apri http://localhost:8080 nel browserIn browser usi frecce, Invio e Esc (= Indietro). I tasti colorati non
esistono su tastiera: la logica relativa si prova solo sulla TV. L'app rileva
l'assenza dell'API tizen e mostra un avviso "Modalità browser".
Pubblicazione su npm (per installare sulla TV)
Importante: TizenBrew installa i moduli dal registro npm, non da GitHub. GitHub serve per il sorgente/versioning; per provare sulla TV devi pubblicare su npm.
- In
package.jsonsostituisci@your-npm-username/...con il tuo scope npm (lo scope@usernameè gratuito con i package pubblici). - Pubblica:
npm login npm publish --access public
Installazione su TV (TizenBrew)
- Apri TizenBrew sulla TV.
- Premi il tasto VERDE per aprire il module manager.
- Digita il nome completo del package (es.
@your-npm-username/tizenbrew-hello-world). - Installa e avvia.
Iterazioni successive
npm version patch # 0.0.1 -> 0.0.2
npm publish # ripubblicaPoi reinstalla/aggiorna dal module manager (tasto VERDE).
Note
- Le immagini sono segnaposto da
picsum.photos(serve connessione). Se non caricano, resta il gradiente di sfondo come fallback: nessuna immagine rotta. - Brand, titoli e descrizioni sono fittizi: personalizzali liberamente.
- Per un hot-reload "vero" (secondi, senza ripubblicare) serve un altro flusso:
Tizen Studio +
sdb connect <IP_TV>con certificati Samsung — fuori dallo scopo di TizenBrew, che è pensato per distribuire moduli già pronti.
