L'esperienza degli sviluppatori
Ora che ho trattato le mini app di per sé, vorrei concentrarmi sull'esperienza degli sviluppatori per le varie piattaforme di super-app. Lo sviluppo minimo di app su tutte le piattaforme avviene negli IDE forniti senza costi dalle piattaforme super-app. Anche se ce ne sono altri, voglio concentrarmi sui quattro più popolari e un quinto su App rapida a scopo di confronto.
IDE per mini app
Come le super app, la maggior parte degli IDE è disponibile solo in cinese. Devi assicurarti di installare la versione cinese e non una versione a volte disponibile in inglese (o all'estero), in quanto potrebbe non essere aggiornata. Se sei uno sviluppatore macOS, tieni presente che non tutti gli IDE sono firmati, il che significa che macOS si rifiuta di eseguire il programma di installazione. Puoi, a tuo rischio, ignorare questo passaggio come indicato nell'aiuto di Apple.
- DevTools
- Alipay DevTools
- Baidu DevTools
- DevTools di ByteDance
- Strumenti per sviluppatori di app rapide
Progetti di app iniziali per mini app
Per iniziare rapidamente con lo sviluppo di mini app, tutti i super provider di app offrono app demo che possono essere scaricate e testate immediatamente e a volte anche integrate nelle procedure guidate "Nuovo progetto" dei vari IDE.
Flusso di sviluppo
Dopo aver avviato l'IDE e aver caricato o creato una mini app (demo), il primo passaggio è sempre effettuare l'accesso. Di solito basta scansionare un codice QR con la super app (a cui hai già effettuato l'accesso) generata dall'IDE. Molto raramente, è necessario inserire una password. Dopo aver eseguito l'accesso, l'IDE conosce la tua identità e ti consente di iniziare a programmare, eseguire il debug, testare e inviare l'app per la revisione. Di seguito puoi vedere gli screenshot dei cinque IDE menzionati nel paragrafo sopra.
Come puoi vedere, i componenti fondamentali di tutti gli IDE sono molto simili. Avrai sempre un editor di codice basato su Monaco Editor, lo stesso progetto su cui si basa anche VS Code. In tutti gli IDE è presente un debugger basato sul frontend di Chrome DevTools con alcune modifiche e ulteriori modifiche in seguito (vedi Debugger). Gli IDE in sé vengono implementati come app NW.js o Electron, mentre i simulatori negli IDE vengono realizzati come tag <webview>
NW.js o tag Electron <webview>
, che a loro volta si basano su un tag <webview>
di Chromium. Se ti interessano gli elementi interni dell'IDE, spesso puoi ispezionarli semplicemente con Chrome DevTools con la scorciatoia da tastiera Ctrl+Alt+I (o Comando+Opzione+I su Mac).
Test e debug del simulatore e di dispositivi reali
Il simulatore è alla pari con la modalità dispositivo di Chrome DevTools. Puoi simulare diversi dispositivi Android e iOS, modificare la bilancia e l'orientamento del dispositivo, ma anche simulare vari stati di rete, pressione della memoria, un evento di lettura di codice a barre, terminazioni impreviste e modalità Buio.
Per quanto il simulatore integrato sia sufficiente per avere un'idea approssimativa del comportamento dell'app, i test sul dispositivo, come con le normali app web, sono insostituibili. Per testare una mini app in fase di sviluppo
basta una scansione del codice QR. Ad esempio, in ByteDance DevTools la scansione di un codice QR generato dinamicamente dall'IDE con un dispositivo reale porta a una versione della mini app ospitata nel cloud che può essere immediatamente testata sul dispositivo. Per ByteDance funziona in questo modo che l'URL dietro il codice QR (esempio) reindirizza a una pagina ospitata (esempio), contenente link con schemi URI speciali come, ad esempio, snssdk1128://
, per visualizzare l'anteprima della mini app sulle varie super app ByteDance come Douyin o Toutiao (ecco un esempio).
Altri fornitori di super app non passano per una pagina intermedia, ma aprono direttamente l'anteprima.
Una funzionalità ancora più interessante è il debug remoto delle anteprime basato su cloud. Dopo aver semplicemente eseguito la scansione di un codice QR speciale generato dall'IDE, la mini app si apre sul dispositivo fisico, con una finestra Chrome DevTools in esecuzione sul computer per il debug remoto.
Debugger
Debug degli elementi
L'esperienza di debug delle mini app è familiare a chiunque abbia lavorato con Chrome DevTools. Tuttavia, esistono alcune differenze importanti che rendono il flusso di lavoro su misura per le mini app. Al posto del riquadro Elementi di Chrome DevTools, gli IDE delle mini app hanno un riquadro personalizzato in base al loro particolare dialetto HTML. Ad esempio, nel caso di WeChat, il riquadro è denominato Wxml, acronimo di WeiXin Markup Language. In Baidu DevTools è chiamato Elemento Swan. ByteDance DevTools la chiama Bxml. Alipay lo chiama AXML, mentre Quick App fa riferimento al pannello semplicemente come UX. Approfondirò questi linguaggi di markup più avanti.
Elementi personalizzati
L'ispezione di WebView su un dispositivo reale tramite about://inspect/#devices rivela che WeChat DevTools nascondeva deliberatamente la verità. Dove WeChat DevTools mostrava
<image>
, quello che sto esaminando è un elemento personalizzato chiamato <wx-image>
con <div>
come unico figlio. È interessante notare che questo elemento personalizzato non utilizza Shadow DOM. Scoprirai di più su questi componenti più avanti.
Debug CSS
Un'altra differenza è la nuova unità di lunghezza rpx
per i pixel adattabili nei vari dialetti del CSS
(scopri di più su questa unità più avanti). WeChat DevTools utilizza unità di lunghezza CSS indipendenti dal dispositivo
per rendere più intuitivo lo sviluppo per dispositivi di dimensioni diverse.
Controllo delle prestazioni
Le prestazioni sono un aspetto centrale per le mini app, quindi non sorprende che WeChat DevTools e alcuni altri DevTools abbiano uno strumento di controllo integrato ispirato a Lighthouse. Le aree principali degli audit sono Totale, Prestazioni, Esperienza e Best practice. La visualizzazione dell'IDE può essere personalizzata. Nello screenshot riportato di seguito ho nascosto temporaneamente l'editor di codice per avere più spazio sullo schermo per lo strumento di controllo.
simulazione dell'API
Anziché richiedere allo sviluppatore di configurare un servizio separato, la simulazione delle risposte dell'API fa parte direttamente di WeChat DevTools. Tramite un'interfaccia facile da usare, lo sviluppatore può impostare gli endpoint API e le risposte fittizie desiderate.
Ringraziamenti
Questo articolo è stato esaminato da Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent e Keith Gu.