In qualità di sviluppatore, Android ti consente di sfruttare la potenza del web all'interno della tua applicazione nativa, in modo da poter usufruire della flessibilità e dell'efficienza della visualizzazione di determinati tipi di contenuti.
Incorporare contenuti utilizzando WebView
L'API WebView offre agli sviluppatori accesso alle funzionalità di un mini-browser per la visualizzazione di contenuti web all'interno della tua applicazione. In questo modo, puoi offrire esperienze basate sul web come parte di supporto o di base all'interno della tua applicazione, come mostrato nella Figura 1.
Cosa può fare WebView?
Ecco cosa puoi fare con WebView nella tua applicazione:
Incorpora web: un componente WebView viene integrato nell'interfaccia utente di un'app, in modo simile a un pulsante o a un campo di testo.
Carica contenuti: WebView può caricare contenuti web da varie origini:
- URL remoti: può recuperare e visualizzare pagine web da internet, proprio come un browser normale.
- File locali: può caricare file HTML, CSS e JavaScript archiviati all'interno delle risorse dell'app.
- Contenuti generati dinamicamente: l'app può generare contenuti HTML al volo e inviarli a WebView.
Rendering: WebView utilizza il proprio motore del browser per analizzare e eseguire il rendering di HTML, CSS e JavaScript, visualizzando la pagina web risultante nell'area designata dell'interfaccia utente dell'app.
Esegui JavaScript: WebView può eseguire codice JavaScript nel contesto della pagina web caricata. In questo modo sono possibili interazioni e aggiornamenti dinamici all'interno di WebView.
Interazione con app native: è qui che WebView diventa più potente. Consente la comunicazione bidirezionale tra la pagina web e l'app.
- Da JavaScript a nativo: il codice JavaScript in esecuzione in WebView può chiamare le API di hosting dell'app, consentendo l'accesso alle funzionalità del dispositivo come fotocamera, GPS o sensori.
- Da codice nativo a JavaScript: l'app può anche iniettare codice JavaScript in WebView, manipulare i contenuti della pagina web o rispondere agli eventi attivati dalla pagina web.
Quali sono le differenze tra WebView e un browser standard come Chrome?
WebView è un componente altamente personalizzato che fornisce le funzionalità di base di una finestra sul web. A differenza di un browser, che fornisce gran parte della barra di navigazione e altre esigenze degli utenti per navigare più ampiamente sul web, l'esperienza complessiva di WebView è modellata dal design e dallo scopo della tua app.
Per comprendere meglio le differenze tra WebView e i browser standard, consulta le seguenti spiegazioni:
Interfaccia utente: WebView viene utilizzato per visualizzare i contenuti web e non ha un proprio header o interfaccia utente come la maggior parte degli altri browser comuni (pulsante Home, barra degli URL, navigazione, impostazioni e così via).
Funzionalità: molti browser hanno implementato funzionalità aggiuntive per migliorare l'esperienza di navigazione, come i preferiti, le autorizzazioni o la cronologia.
Aggiornamenti: poiché Android WebView è un servizio di sistema su Android, gli aggiornamenti vengono inviati e integrati automaticamente nelle app su base mensile. I browser fanno affidamento sugli aggiornamenti delle app corrispondenti e poi sugli utenti finali per applicare l'aggiornamento sui loro dispositivi.
Da dove iniziare?
Per informazioni su come utilizzare WebView nella tua app, consulta l'articolo Creare app web in WebView.
Risorse aggiuntive
Per sviluppare pagine web per dispositivi Android utilizzando oggetti WebView o schede personalizzate, consulta i seguenti documenti:
- Creare app web in WebView
- Gestire gli oggetti WebView
- Supportare schermate diverse nelle app web
- Eseguire il debug delle app web
- Best practice per le app web
- Attivare WebView beta
- Navigazione in-app utilizzando il web incorporato
- Panoramica delle schede personalizzate per Android