La comodità è qualcosa di cui non possiamo mai essere completamente soddisfatti. Questo è il motivo per cui gli sviluppatori di software sono sempre costretti a spingere i loro limiti per creare una migliore esperienza utente, senza compromettere la funzionalità. Tutto per il bene di salvare il churn nel business competitivo di oggi. La gente vuole convenienza ed è per questo che le applicazioni ibride sono state accolte con favore.
Cosa c’è di così unico nelle applicazioni ibride? WebViews!
Applicazioni ibride
Come suggerisce il nome, sono una miscela di applicazioni native e web. Sono disponibili negli application store per il download e richiedono l’autenticazione di accesso dal dispositivo come le applicazioni native, ma hanno anche un browser incorporato nell’applicazione (WebView) per il rendering HTML. Instagram è un buon esempio di applicazione ibrida.
Ricordate il tempo in cui, per accedere a qualsiasi link di terze parti, eravamo soliti aprirlo in un nuovo browser sul dispositivo, con il risultato di allontanarci dall’applicazione che volevamo utilizzare? Questo era un disastro per l’UX, che è stato risolto creando una finestra del browser in-app per facilitare le pagine web di terzi come parte del layout delle attività. Complimenti alle WebView!
Perché avete bisogno delle WebView?
- Consentono un migliore controllo sull’interfaccia utente della vostra applicazione.
- Non dovete aggiornare l’intera applicazione se volete solo aggiornare il contenuto dell’applicazione, se, per esempio, volete pubblicizzare una prossima vendita sulla vostra applicazione o qualche altra offerta interessante.
- Non vieni spinto su un’altra applicazione di terze parti, ma, piuttosto, vieni reindirizzato a un browser in-app che estrae il contenuto dal web per te. Questo fornisce la comodità di rimanere nell’applicazione prevista. Prendiamo Instagram per esempio, dove è necessario scorrere verso l’alto in alcune storie e si viene reindirizzati a una pagina web attraverso un browser in-app, piuttosto che aprire il contenuto in Chrome, Safari, Firefox, o qualsiasi altro browser. È possibile navigare liberamente il contenuto sulla pagina web reindirizzata scorrendo su/giù, zoomando in/out, o cercando un testo.
- WebViews permettono lo sviluppo multipiattaforma con conseguente riduzione dei costi di sviluppo e flessibilità per lo sviluppatore. Nota: non possiamo fare in modo che una singola build di un’applicazione funzioni su più sistemi operativi. Possiamo solo facilitare lo sviluppo di un’altra build con l’aiuto di estensioni web attraverso HTML, CSS, JavaScript, ecc.
- Le aziende spesso mirano a costruire un’applicazione wrapper di un’applicazione web esistente. Così facendo, le aziende mirano a creare una presenza nei negozi di applicazioni con uno sforzo relativamente minore. Inoltre, framework come Ionic permettono di aggiungere un’applicazione all’app store e distribuirla sul web mobile come PWA.
Per generare una WebView, uno sviluppatore deve:
- Sviluppare un’istanza di una classe
webview
. - Embed un browser nella vostra applicazione.
- Aggiungi le funzionalità del browser con l’aiuto di una libreria WebView.
- Aggiungi i permessi per Internet nel file Manifest di Android.
- Aggiungi il codice per la WebView per aprire un browser in-app.
WebView Testing – Si riferisce alla creazione ed esecuzione di casi di test per controllare i meccanismi di funzionamento effettivo delle WebView.
Tenere nota di quanto segue durante il test delle WebView:
- Verificare se l’applicazione risponde secondo il suo comportamento previsto interrompendo il caricamento della pagina web.
- Se il tuo contenuto include indirizzi e-mail con collegamento ipertestuale nella WebView, assicurati che questi collegamenti ipertestuali aprano l’applicazione di posta nel tuo dispositivo quando vengono toccati.
- Testa un numero di telefono con collegamento ipertestuale in modo simile – sta indirizzando l’utente a comporre l’applicazione o no? Inoltre, come risponde quel collegamento ipertestuale se una scheda SIM non è inserita nel dispositivo?
- Testare la risposta di WebView in diverse modalità di rete – 2G, 3G, WiFi, LTE.
- Anche i caratteri speciali dovrebbero essere testati. Insieme allo zoom in/out, navigando attraverso il contenuto web scorrendo su/giù o navigando lo schermo scorrendo a sinistra/destra.
- Testare la tolleranza di WebView contro fattori esterni come SMS, caduta di segnale, notifiche, chiamate, ecc.
- Testare il comportamento della vostra applicazione quando un’applicazione esterna viene lanciata tramite un collegamento ipertestuale dal vostro contenuto web.
- Variare l’orientamento del dispositivo e testare che il vostro contenuto web sia in grado di supportarli.
- Testare se la visualizzazione grafica è soddisfacente.
- Comprimere la finestra del browser e vedere se il testo viene compresso in modo appropriato.
- Una piattaforma cross-browser sarà molto utile per testare i suggerimenti di cui sopra. Fornirà anche un’idea di come la vostra WebView viene rappresentata al pubblico target.
Come eseguire test di WebView
Espresso Web per Android WebView – Questo strumento aiuta ad esaminare e controllare il comportamento dei componenti UI di WebView riutilizzando gli Atomi dell’API di WebDriver. È uno degli strumenti più comunemente usati per testare le applicazioni ibride. È necessario per controllare l’integrazione dei componenti UI nativi di un’applicazione e i suoi componenti UI WebView.
Prima di utilizzare Espresso Web, è necessario analizzare a fondo il codice sorgente del tuo sito web per determinare gli hook per i suoi metodi. Questo è il motivo per cui potrebbe diventare molto complesso per siti web di grandi dimensioni.
Approccio alternativo
Un approccio diverso comporterebbe dimenticare il codice di terze parti e concentrarsi solo sul codice basato su Android. Fondamentalmente, una WebView mappa gli elementi di un sito web; permettendo all’utente di interagire con essi attraverso gli oggetti Android View e le loro estensioni. Queste viste non hanno un ID che le rende inaccessibili con findViewById(int id), né potete accedere a questi ID nel vostro pacchetto applicativo.
Questo non significa che non potete rintracciarle. È possibile con l’aiuto di Android Device Monitor, uno strumento autonomo per fornire un’interfaccia utente per aiutare più strumenti per l’analisi e il debug di applicazioni Android.
- È necessario prendere un’istantanea di ogni schermata sull’emulatore con Android Device Monitor.
- Farsi un’idea di come le WebView sono strutturate internamente.
- Effettuare azioni su di esse con l’aiuto di UiAutomator.