Panoramica App Nativa
Come Appo trasforma la tua web app in un'app mobile nativa.
Come Funziona
Quando crei un'app tramite la dashboard Appo o un plugin di piattaforma, Appo genera un'app mobile nativa che carica il tuo sito web all'interno di una WebView. Il livello nativo collega le funzionalità del dispositivo — notifiche push, biometria, fotocamera, posizione e altro — al tuo codice JavaScript attraverso un protocollo basato su messaggi.
Scrivi la tua applicazione come una web app standard con l'SDK Appo. Il wrapper nativo gestisce tutto ciò che è specifico della piattaforma: permessi, accesso all'hardware, pacchettizzazione per gli store e integrazione dell'UI nativa.
Architettura
┌─────────────────────────────────────────┐
│ La tua Web App │
│ │
│ appo.push.requestPermission() │
│ │ │
│ ▼ │
│ ┌──────────────────────────────┐ │
│ │ @appolabs/appo SDK │ │
│ │ postMessage({ type, id }) │ │
│ └──────────────┬───────────────┘ │
└─────────────────┼────────────────────────┘
│ window.ReactNativeWebView.postMessage()
▼
┌─────────────────────────────────────────┐
│ App Nativa (gestita da Appo) │
│ │
│ WebView.onMessage(event) │
│ │ │
│ ▼ │
│ ┌──────────────────────────────┐ │
│ │ Message Dispatcher │ │
│ │ type → Feature Handler │ │
│ └──────────────┬───────────────┘ │
│ │ │
│ ┌────────────┼────────────┐ │
│ ▼ ▼ ▼ │
│ expo- expo- expo- │
│ notifications location haptics ... │
│ │
│ Risposta inviata tramite injectJavaScript │
└─────────────────────────────────────────┘Flusso dei Messaggi
- La tua web app invoca un metodo dell'SDK (es.
appo.push.requestPermission()). - L'SDK serializza la richiesta come messaggio JSON con un ID univoco e lo invia tramite
postMessage. - La WebView nativa riceve il messaggio attraverso il suo handler
onMessage. - Il message dispatcher instrada la richiesta al gestore di funzionalità appropriato in base al tipo del messaggio.
- Il gestore invoca l'API nativa corrispondente.
- Il risultato viene inviato alla WebView tramite
injectJavaScript, associato all'ID della richiesta originale. - L'SDK risolve la Promise in sospeso con i dati della risposta.
Per la specifica completa del protocollo dei messaggi, vedi Architettura.
Sezioni
- Configurazione — Impostazioni dell'app, permessi e deep link
- Gestori Funzionalità — Come i gestori nativi processano le richieste dell'SDK
- Trasmissione Eventi — Consegna degli eventi dal nativo al web