Disposizione del terreno

Peter Conn
Peter Conn

Esiste una discreta quantità di ecosistema intorno alle attività web attendibili e può essere molto difficile scopri come sono collegati e cosa dovresti usare. In questo articolo speriamo di risolvere il problema.

Se non hai mai utilizzato le Attività web attendibili o stai semplicemente cercando il set di strumenti consigliati che di utilizzare oggi stesso, ecco cosa è importante sapere:

  • Bubblewrap: uno strumento NodeJS che consente agli sviluppatori di creare e sviluppare un APK Android in grado di aggrega una PWA esistente. L'applicazione generata è basata su Attività web attendibili, ma è trasparente per sviluppatore. Non è richiesta alcuna esperienza di sviluppo Android. Per iniziare, consulta la documentazione relativa a Bubble wrap.
  • android-browser-helper: una raccolta Android che contiene le attività web attendibili protocollo. Consigliato per gli sviluppatori che conoscono lo sviluppo Android e vogliono utilizzare Trusted Web attività come una delle attività dell'app per Android o personalizzazione che non sono supportate da Bubblewrap. Per iniziare a utilizzare android-browser-helper, consulta la documentazione e le nostre demo.

La prossima sezione fornisce un breve riepilogo di tutti i progetti in relazione tra loro. Infine (per i più curiosi) c'è una sezione di storia che mostra come siamo arrivati qui e dove che abbiamo in programma nel prossimo futuro.

Una panoramica delle biblioteche

Ecco un breve riepilogo di ciascuna delle librerie che potresti utilizzare:

  • androidx.browser, una libreria Android per interagire con il browser installato sulla dispositivo.
  • Android Browser Helper, una libreria che si basa su androidx.browser per l'Attività web attendibile clienti che forniscono metodi pratici e impostazioni predefinite sensate.
  • Bubble wrap, uno strumento per creare attività web attendibili dalle PWA senza toccare Java le API nel tuo codice.

Inoltre, ciascuno di questi strumenti/librerie sostituisce uno precedente:

Cronologia

Libreria di assistenza Android

La Android Support Library estende la piattaforma Android con nuove API e compatibilità le funzionalità di machine learning. È suddivisa in più pacchetti, con la libreria di supporto delle schede personalizzate che contiene per interagire con i browser sul sistema dell'utente. Lo sviluppo della libreria di assistenza per le schede personalizzate è avvenuto principalmente in custom-tabs-client Repository GitHub, con le modifiche che vengono riportate a monte nella libreria di supporto Android.

Una scheda personalizzata è un'attività Android che utilizza un browser per visualizzare una pagina web. Il vantaggio principale per lo sviluppatore è che può essere a tema e ha un pulsante di chiusura, in modo che l'utente rimane nell'app dello sviluppatore (invece di uscire dall'app e accedere alla pagina di navigazione completa) un'esperienza ottimale). Essendo un'API Android, le schede personalizzate possono essere supportate da qualsiasi browser e utilizzeranno le impostazioni predefinite browser (sebbene possa essere sostituito dagli sviluppatori).

Poiché le Attività web attendibili si basano sulle schede personalizzate, hanno iniziato la loro vita questa libreria custom-tabs-client. Le attività web attendibili rimuovono la barra superiore delle schede personalizzate quando l'utente naviga in un sito di proprietà di lo sviluppatore dell'app. Ciò apre le porte a un'integrazione perfetta del tuo sito web all'interno di un'app Android nativa per creare app in cui tutte le funzionalità sono fornite dal web.

AndroidX

La Android Support Library è stata successivamente rinominata AndroidX, che a sua volta fa parte di un maggiore impegno per migliorare l'esperienza degli sviluppatori, chiamato JetPack. Pertanto, le schede personalizzate e le attività web attendibili sono state spostate dalla libreria di supporto delle schede personalizzate a il nuovo androidx.browser.

Parte del codice che avevamo scritto in custom-tabs-client era appropriata per una libreria di classi helper Attività web, ma non per un'API Android. Codice che gestisce il controllo delle versioni non aggiornate di Chrome e la richiesta all'utente di aggiornare o non era possibile trasferire i dati in AndroidX per decidere come archiviare i dati. Di conseguenza, abbiamo creato una libreria alternativa per contenere queste parti di custom-tabs-client che non poteva andare su androidx.browser, così è nato Android Browser Helper.

Android Browser Helper è stato creato per contenere codice che può essere specifico per i browser (non solo Chrome, siamo aperti a scrivere codice specifico per altri browser) e possiamo prendere decisioni concrete che le biblioteche non dovrebbero fare. Abbiamo colto l'opportunità per separare in generale i ruoli di queste due librerie:

  • androidx.browser contiene i componenti di base per l'interazione con i browser sul e il sistema dell'utente.
  • Android Browser Helper contiene implementazioni predefinite utili e sensate.

Bootstrap

Gli sviluppatori sono persone molto impegnate, con molto lavoro da fare e scadenze da rispettare. Per farlo, abbiamo creato due strumenti per consentire all'utente di eseguire il bootstrap della sua attività web attendibile.

Il primo (e meno recente) è svgomg-twa, un progetto Android ospitato su GitHub che avvia un Attività web attendibile. Originariamente era stato progettato come un progetto dimostrativo, che si è evoluto in una sorta di modello. Gli utenti possono clonare il repository e modificare il file build.gradle in modo che punti al proprio sito web. svilupparla e produrre un'attività web attendibile senza toccare alcun codice Java. La verifica dei link agli asset digitali richiede un maggiore impegno. Per saperne di più, fai clic qui.

svgomg-twa ha iniziato in base a custom-tabs-client, per poi passare alla versione Android Assistente per il browser (e androidx.browser transitivamente).

Lo strumento più recente e brillante è Bubblewrap, uno strumento Node.js che prenderà in esame la tua app web Manifesta e genera un'attività web attendibile per te. Questo è il modo più semplice per creare un'attività web attendibile da una PWA esistente e non richiede conoscenze sullo sviluppo di Android.

Futuro

Ritireremo svgomg-twa per due motivi:

  • Il wrapping genera essenzialmente un svgomg-twa compilato per uno sviluppatore. Lo fa in modo interattivo e può prendere la configurazione dal file manifest di un'app web (che probabilmente già).
  • Se gli sviluppatori vogliono un riferimento su come avviare il loro progetto di attività web attendibili da nella directory demos di Android Browser Helpers.

I nuovi sviluppatori dovrebbero usare Bubblewrap per generare il progetto. Se stai già utilizzando svgomg-twa e hai apportato alcune modifiche significative, potrai continuerà a farlo, ma non riceveranno aggiornamenti.

Abbiamo in programma di rendere più efficace il wrapping, quindi se manca una funzionalità evidente o rilevi un bug, non esitare a creare un problema.