In un mondo in continua evoluzione di sviluppo di applicazioni mobili, l'ascesa delle Applicazioni Web Progressive (PWAs) ha aperto la strada a nuovi runtime cross-platform. Questi runtime consentono alle applicazioni basate su web di essere presenti nei negozi di app senza dipendere esclusivamente da native code. CapacitorJS, che consente ai developer di distribuire un semplice sito web come applicazione su Android, iOS e web utilizzando un unico codice JavaScript. Questo approccio riduce significativamente i costi di sviluppo e aumenta l'efficienza di codifica.
Questa guida si concentrerà sulla creazione di un'applicazione utilizzando JavaScript puro senza alcun framework aggiuntivo. Nonostante le sfide di trovare risorse per lo sviluppo di app JavaScript puro nel 2021, siamo qui per fornirle una guida completa per costruire la sua applicazione e utilizzare plugin nativi con CapacitorJS.
‣ Prerequisiti
Prima di iniziare, assicurati di avere gli strumenti seguenti installati:
- Node.js (v14.16.1) o superiore
- NPM (v7.6.2) o superiore
- Android Studio Sviluppo di app per Android
- Xcode Sviluppo di app per iOS (solo macOS)
Nota: il sviluppo di app per iOS è possibile solo su un dispositivo macOS.
‣ Impostazione del tuo progetto Capacitor
Per creare un'applicazione Capacitor, naviga nella cartella desiderata e esegui il seguente comando nel tuo terminale:
npm init @capacitor/app
Segui le istruzioni per installare il pacchetto e impostare il tuo progetto. Con Capacitor v3, la directory del tuo progetto dovrebbe avere questo aspetto:
www/
css/
style.css
js/
capacitor-welcome.js
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
Con la configurazione iniziale completata, sei pronto a procedere.
‣ Ricostruzione del progetto
Utilizzeremo Vite per compilare i nostri file JavaScript, quindi riorganizziamo il nostro progetto di conseguenza:
- Creare una nuova cartella
srcnella directory principale. - Crea un nuovo file di script
index.jsinsrc/. - Crea il file di configurazione Vite
vite.config.jsnella directory principale. - Elimina il
capacitor-welcome.jsfile dawww/js/.
La tua struttura di cartelle dovrebbe essere simile a:
src/
index.js
www/
css/
style.css
js/
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
vite.config.js
‣ Adattarsi a JavaScript puro
Modifichiamo alcuni file per funzionare con JavaScript puro:
www/index.html
- Elimina le importazioni di script per Elementi PWA di Ionic se non stai rilasciando l'applicazione come PWA:
<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"></script>
<script nomodule src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"></script>
-
Elimina l'elemento
<capacitor-welcome>HTML dal corpo. -
Aggiorna l'importazione di script da
capacitor.jsajs/main.jsQuesto sarà il nostro file JavaScript bundle. -
Elimina il
js/capacitor-welcome.jsimporta. Il tuoindex.htmlè ora pronto.
vite.config.js
Per creare un pacchetto dei nostri moduli Node.js con Vite, abbiamo bisogno di un file di configurazione che specifica la destinazione di output per il nostro script bundle. La configurazione seguente prenderà il file src/index.js e lo bundle per la produzione come www/js/main.js:
import { defineConfig } from 'vite';
import path from 'node:path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'www'),
rollupOptions: {
input: './src/index.js',
output: {
format: 'es',
file: path.resolve(__dirname, 'www/js/main.js')
}
}
}
});
capacitor.config.json
Nel capacitor.config.json file, individua la "bundledWebRuntime": true proprietà e modificala in false. Questa modifica assicura che Capacitor non bundle i file, consentendoci di utilizzare Vite per questo scopo invece.
Con questi cambiamenti, la configurazione base del tuo Capacitor applicazione è completa, e sei pronto a iniziare a sviluppare la tua app con JavaScript puro.
‣ Sviluppa la tua App
Ora che la base è stata stabilita, puoi iniziare a scrivere la logica della tua applicazione nel src/index.js Ecco dove puoi importare i moduli Node.js necessari, definire la funzionalità della tua app e interagire con i plugin nativi di Capacitor.
Ricorda di eseguire il comando di build di Vite per abbinare i tuoi file JavaScript ogni volta che apporti modifiche:
vite build
Questo comando genererà il main.js file nel tuo www/js directory, che il tuo index.html file si riferirà.
‣ Test e Debug
Capacitor fornisce un modo comodo per testare la tua applicazione su diverse piattaforme. Utilizza i seguenti comandi per aprire la tua app nell'ambiente di sviluppo della piattaforma corrispondente:
Per Android:
npx cap add android
npx cap open android
For iOS (macOS solo):
npx cap add ios
npx cap open ios
For Web/PWA:
npx cap serve
Ecco i comandi che ti permetteranno di eseguire la tua applicazione in Android Studio, Xcode o nel tuo browser web, dove potrai testare e debuggare come necessario.
‣ Conclusion
Sviluppare applicazioni cross-platform con CapacitorJS utilizzando solo JavaScript è un modo efficace e conveniente per creare app per più piattaforme con un unico codice. Seguendo questa guida, hai configurato il tuo progetto, lo hai riorganizzato per Vite e hai preparato l'app per la sviluppo. Con questa base, sei ben avviato a creare un'applicazione robusta e versatile.
Ricorda di testare accuratamente su tutte le piattaforme e di utilizzare i plugin nativi di Capacitor per migliorare le funzionalità dell'app. Buon codice!
Continua da Sviluppa Applicazioni Cross-Platform con CapacitorJS: Una Guida Passo dopo Passo
Se stai utilizzando Sviluppa Applicazioni Cross-Platform con CapacitorJS: Una Guida Passo dopo Passo per pianificare il lavoro sui plugin nativi, connettilo con Capgo Directory dei Plugin per il flusso di lavoro del prodotto in Capgo Directory dei Plugin, Capacitor Plugin da Capgo per i dettagli di implementazione in Capacitor Plugin da Capgo Aggiungere o Aggiornare Plugin per i dettagli di implementazione in Aggiungere o Aggiornare Plugin Sostituti di Plugin Enterprise Ionic per il flusso di lavoro del prodotto in Sostituti di Plugin Enterprise Ionic, e Capgo Costruzioni Native per il flusso di lavoro del prodotto in Capgo Costruzioni Native.