Vanilla Apps
Suite sperimentale di applicazioni minimaliste offline-first e cross-platform
Concept
Vanilla Apps รจ una suite sperimentale di applicazioni minimaliste, progettata seguendo una filosofia โoffline-firstโ e unโarchitettura โSuper Appโ cross-platform.
Lโobiettivo รจ fornire utility essenziali con unโimpronta minima, garantendo al contempo sicurezza e privacy. Il progetto esplora un modello ibrido in cui i moduli web leggeri (HTML, CSS, JavaScript) possono essere eseguiti indifferentemente su piattaforme diverse grazie a un sistema di bridge intercambiabili.
Cross-Platform: Android + Web
La caratteristica distintiva di Vanilla Apps รจ la sua natura cross-platform: gli stessi moduli funzionano identicamente su:
Android (Kotlin + WebView)
Un contenitore nativo Android scritto in Kotlin funge da host per i moduli web. La WebView espone unโinterfaccia window.Android che i moduli utilizzano per interagire con il sistema nativo.
Web (VDS Framework)
Il VDS Framework integra i moduli Vanilla Apps attraverso il GreenLoader, un sistema che:
- Carica i moduli in iframe isolati allโinterno di finestre VDS
- Inietta un GreenAdapter che emula lโinterfaccia
window.Android - Traduce le chiamate native in equivalenti web (es.
showToastโ notifica browser)
Il Bridge Pattern
I moduli non sanno se stanno girando su Android o sul web. Chiamano sempre window.Android.showToast(), window.Android.saveData(), etc. Il bridge sottostante (nativo o emulato) gestisce lโimplementazione:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Modulo Vanilla Apps โ
โ (HTML + CSS + JavaScript) โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ window.Android.*
โผ
โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Android Native โ โ VDS GreenAdapter โ โ
โ โ (Kotlin Bridge)โ โ (JS Emulation) โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Questo pattern permette di sviluppare una volta sola e distribuire ovunque, mantenendo lโesperienza utente coerente.
Architettura e Sicurezza
Il cuore del sistema รจ unโapp Android nativa che utilizza un componente WebView configurato per la massima sicurezza. A differenza delle tipiche app ibride, Vanilla Apps non carica contenuti da remoto.
Tutti i moduli (le โappโ individuali come la calcolatrice o lโorologio) sono pacchettizzati come asset locali (file:///android_asset/). La WebView รจ rigorosamente configurata per caricare solo queste risorse locali, impedendo qualsiasi navigazione esterna, esecuzione di script da remoto o richieste di rete non necessarie.
Questo approccio crea un ambiente sandbox sicuro, veloce e completamente funzionante offline.
Caratteristiche dellโarchitettura:
- Contenitore nativo: Unโunica app Android scritta in Kotlin gestisce il lifecycle e la sicurezza
- Moduli web locali: Ogni utility รจ un modulo HTML/CSS/JS standalone
- WebView sandboxed: Configurazione restrittiva che impedisce accesso esterno
- Zero dipendenze di rete: Funzionamento completo senza connessione
- Footprint minimo: Dimensioni ridotte e consumi ottimizzati
Moduli Implementati
La suite include diverse utility di base come proof-of-concept:
- Orologio (Clock): Un semplice orologio digitale
- Calcolatrice (Calculator): Una calcolatrice standard per operazioni di base
- Green Rain: Unโanimazione visiva in stile โMatrixโ, che funge anche da screensaver
Tecnologie Utilizzate
Contenitore Nativo
- Kotlin - Linguaggio principale
- Android SDK - Framework nativo Android
Moduli Web
- HTML5 - Struttura delle interfacce
- CSS3 - Styling e animazioni
- Vanilla JavaScript (ES6+) - Logica applicativa senza framework
Componente Bridge
- Android WebView - Ponte tra native e web layer
Privacy e Sicurezza
Lโarchitettura garantisce:
- โ Zero tracking: Nessuna telemetria o raccolta dati
- โ Offline-first: Nessuna connessione di rete richiesta o consentita
- โ Sandbox sicuro: WebView configurato con massime restrizioni
- โ Asset locali: Tutti i contenuti pacchettizzati nellโAPK
- โ Privacy-by-design: Nessun dato lascia il dispositivo
Stato del Progetto
Progetto personale attivo. Nato come proof-of-concept per validare unโarchitettura โSuper Appโ ibrida su Android, si รจ evoluto in una soluzione cross-platform che gira sia su dispositivi mobili che sul web.
Piattaforme supportate
| Piattaforma | Stato | Contenitore |
|---|---|---|
| Android | โ Completo | App Kotlin nativa |
| Web (VDS) | โ Completo | VDS Framework + GreenLoader |
| iOS | ๐ฎ Futuro | Possibile con WKWebView |
Risultati raggiunti
Il progetto dimostra la fattibilitร di combinare:
- Write once, run anywhere - Stesso codice su Android e Web
- Performance native - Bridge leggero, nessun overhead
- Flessibilitร del web - UI in HTML/CSS/JS standard
- Sicurezza sandbox - Isolamento completo dei moduli
- Privacy totale - Zero tracking, offline-first
- Semplicitร di sviluppo - Un solo codebase per piรน piattaforme
Prova i moduli
Puoi provare i moduli Vanilla Apps direttamente sul web attraverso il VDS Framework:
- Apri Clock - Orologio digitale
- Apri Calculator - Calcolatrice
- Apri About - Informazioni sulla suite