Sviluppo di applicazioni cross-platform con CapacitorJS: una guida passo dopo passo
Guida del Tutorial

Sviluppare Applicazioni a Piattaforma Unica con CapacitorJS: Una Guida Passo dopo Passo

Impara a creare applicazioni a piattaforma unica utilizzando CapacitorJS con un unico codice JavaScript per Android, iOS e web (PWA).

Martin Donadieu

Martin Donadieu

Content Marketer

Sviluppare Applicazioni a Piattaforma Unica con CapacitorJS: Una Guida Passo dopo Passo

Nel mondo in evoluzione dello sviluppo di applicazioni mobili, l'ascesa delle Applicazioni Web Progressive (PWA) ha aperto la strada a nuove runtime a piattaforma unica. Queste runtime consentono alle applicazioni web di essere presenti nei negozi di app senza affidarsi esclusivamente a nativi code. Una tecnologia che facilita questo processo è 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 solo JavaScript puro senza alcun framework aggiuntivo. Nonostante le sfide di trovare risorse per lo sviluppo di app pure in JavaScript nel 2021, siamo qui per fornirti una guida completa per creare la tua applicazione e utilizzare plugin nativi con CapacitorJS.

‣ Requisiti

Prima di iniziare, assicurati di avere installati i seguenti strumenti:

  • Node.js (v14.16.1) o superiore
  • NPM (v7.6.2) o superiore
  • Android Studio per lo sviluppo di app Android
  • Xcode per lo sviluppo di app iOS (solo per macOS)

Nota: Lo sviluppo di un'app iOS è possibile solo su un dispositivo macOS.

‣ Configurazione del tuo progetto Capacitor

Per creare un'applicazione Capacitor, naviga nel folder desiderato e esegui il seguente comando nel tuo terminale:

npm init @capacitor/app

Segui le istruzioni per installare il pacchetto e configurare il tuo progetto. Con Capacitor v3, il tuo directory 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 bundle i nostri file JavaScript, quindi riorganizziamo il nostro progetto di conseguenza:

  • Crea un nuovo folder src nel main directory.
  • Crea un nuovo file di script index.js in src/.
  • Crea il file di configurazione Vite vite.config.js nella directory principale.
  • Elimina il capacitor-welcome.js file da www/js/.

La tua nuova struttura di cartelle dovrebbe assomigliare 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

  1. Elimina gli import 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>
  1. Elimina l'elemento HTML dal corpo. <capacitor-welcome> Aggiorna l'importazione dello script da

  2. a capacitor.js . Questo sarà il nostro file JavaScript bundle. js/main.jsElimina l'importazione del

  3. Il tuo js/capacitor-welcome.js è ora pronto. index.html vite.config.js

Per bundle i nostri moduli Node.js con

Per bundle i nostri moduli Node.js con ViteEcco, abbiamo bisogno di un file di configurazione che specifica la destinazione di output per il nostro script bundle. La seguente configurazione 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 queste modifiche, la configurazione base del tuo progetto Capacitor è completa, e sei pronto a iniziare a sviluppare la tua app con JavaScript puro.

‣ Sviluppo della Tua App

Ora che la base è stata stabilita, puoi iniziare a scrivere la logica di applicazione nel src/index.js file. Qui, 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 raggruppare i 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 offre una comoda modalità per testare la tua applicazione su diverse piattaforme. Utilizza i seguenti comandi per aprire la tua app nell'ambiente di sviluppo della rispettiva piattaforma:

Per Android:

npx cap add android
npx cap open android

Per iOS (solo macOS):

npx cap add ios
npx cap open ios

Per Web/PWA:

npx cap serve

Questi comandi ti consentiranno di eseguire la tua applicazione in Android Studio, Xcode o nel tuo browser web, dove potrai testare e debugare come necessario.

‣ Conclusione

Sviluppare applicazioni cross-platform con CapacitorJS utilizzando JavaScript puro è 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 lo sviluppo. Con questa base, sei ben avviato a costruire un'applicazione robusta e versatile.

Non dimenticare di testare accuratamente su tutte le piattaforme e di utilizzare i plugin nativi di Capacitor per migliorare la funzionalità dell'app. Buon codice!

Aggiornamenti in tempo reale per le app Capacitor

Quando un bug nel layer web è attivo, invia la correzione attraverso Capgo invece di aspettare giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia subito

Ultimi articoli dal nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile veramente professionale.