graficajam
Scanner di QR Code con Capacitor

Scanner di QR Code con Capacitor

Giamp30/09/2025

Ciao! Oggi voglio parlare un po' di Capacitor.
Era il lontano 2008 quando il progetto, prima PhoneGap e poi Cordova, permetteva di creare applicazioni mobili ibride.

L'idea era semplice quanto geniale: far girare una pagina HTML, CSS e JavaScript all'interno del componente WebView presente in ogni device mobile, convertendo il nostro "template" semantico in un .apk fisico (Android, tramite Android Studio) o in un'app iOS (tramite Swift).

Si poteva arricchire il tutto grazie ai plugin ufficiali o sviluppati dalla community, che comunicavano con il dispositivo per utilizzare la fotocamera, il giroscopio o cambiare colori della status bar.
Veramente fantastico: ogni web dev poteva creare la propria app cross-platform sfruttando le sue competenze in HTML, JS e CSS.

Col tempo, questa tecnologia è diventata ancora più potente grazie alla possibilità di accedere alle API native dei dispositivi, garantendo prestazioni migliori e integrazioni native nei nostri progettini.

Capacitor, erede di Cordova, permette di utilizzare plugin ufficiali proprio a questo scopo. Uno di questi è barcode scanner.

Installare il package è un gioco da ragazzi! Possiamo includerlo in qualsiasi progetto esistente. Io amo utilizzare Vue con Framework7, che ha un ottimo aspetto "Material"… vedere per credere.

bash

npm i @capacitor/core
npm i -D @capacitor/cli

Fatto questo lanciamo npx cap init per una configurazione guidata.

Ipotizziamo di voler creare un'app Android: dobbiamo scaricare Android Studio e tutti i tool necessari, creare un emulatore per testare la nostra app. Dopo aver scaricato tutto, l'ambiente di test è pronto.

Fatto questo installiamo il pacchetto Android e aggiungiamo la piattaforma al nostro progetto:

npm install @capacitor/android
npx cap add android

Possiamo aprire il nostro progetto direttamente in Android Studio grazie al comando npx cap open android o lanciare l'emulatore con npx cap run android. Grazie alla Capacitor CLI, tutto è già pensato per noi!

Per tutti i tool necessari in Android Studio, ti rimando alla documentazione ufficiale. Fatto questo, installiamo anche il plugin ufficiale per lo scanner di barcode:

npm install @capacitor/barcode-scanner
npx cap sync

Il plugin richiede una versione minima di Android: la 26. Se dovessimo riscontrare errori in console, possiamo aprire il nostro progetto in Android Studio, trovare il file variables.gradle ed inserire manualmente il valore minimo:

ext {
    minSdkVersion = 26
}

Nel nostro progetto, con poche righe di codice, configuriamo ed apriamo la fotocamera del device pronta a scannerizzare ogni tipo di barcode grazie a hint: CapacitorBarcodeScannerTypeHint.ALL.
Per necessità particolari possiamo anche specificare quale tipo di codice leggere. Qui la documentazione.

import {
  CapacitorBarcodeScanner,
  CapacitorBarcodeScannerTypeHint,
} from "@capacitor/barcode-scanner";

const startScanner = async () => {
  const result = await CapacitorBarcodeScanner.scanBarcode({
    hint: CapacitorBarcodeScannerTypeHint.ALL,
  });

  if (result?.value) {
    const isResult = result.value;
    console.log(isResult);
  }
};

Prima di testare il tutto, sincronizziamo il progetto JS con quello nativo lanciando il semplice comando: npx cap sync.

Che dire, Capacitor è un ottimo alleato nello sviluppo di applicativi Android/iOS. Vorrei utilizzarlo di più per prendere ancora più confidenza con altri plugin ufficiali e non… spero avrò l'occasione di giocarci.

Grazie per aver letto questo articoletto, alla prossima puntata.

Hai qualcosa da dire?

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

leggi anche...