Guida
Come usare Capacitor+ Core in Capacitor
Utilizzo dei pacchetti Capacitor+ (@capacitor-plus)
Capacitor+ è un fork automatizzato e sempre sincronizzato di Capacitor mantenuto da Capgo. Offre un sostituto immediato per i pacchetti ufficiali Capacitor, con un vantaggio fondamentale: PR e fix della community vengono approvati più velocemente.
Perché esiste Capacitor+
Il team di Ionic gestisce Capacitor seguendo le proprie priorità e scadenze di rilascio. Ciò significa che i contributi della community — bug fix, miglioramenti e nuove feature — possono attendere mesi o anni prima di essere approvati. Alcuni non vengono mai integrati.
Capacitor+ risolve questo problema:
- Merge delle PR dai Fork - Le PR più utili bloccate nella coda upstream vengono approvate attivamente
- Sincronizzazione Continua - Ogni modifica da Capacitor upstream viene scaricata, testata e verificata automaticamente
- Rilasci Rapidi - Quando le modifiche superano la CI, vengono pubblicate automaticamente su npm sotto la
@capacitor-plusambito - Prima la community - I tuoi contributi contano e hanno la priorità
- Sicurezza verificata - Ogni modifica è analizzata dall'IA per vulnerabilità, breaking changes e rischi di stabilità
Pacchetti disponibili
| Pacchetto | Descrizione |
|---|---|
@capacitor-plus/core |
Libreria runtime core |
@capacitor-plus/cli |
Interfaccia a riga di comando |
@capacitor-plus/android |
Runtime Android |
@capacitor-plus/ios |
Runtime iOS |
Installazione
Nuovo Progetto
Per un nuovo progetto, usa semplicemente i pacchetti Capacitor+ al posto di quelli ufficiali:
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Poi inizializza il tuo progetto:
npx cap init
npx cap add android
npx cap add ios
Migrazione da Capacitor ufficiale
Per migrare un progetto esistente da Capacitor ufficiale a Capacitor+:
# Remove official packages
npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
# Install Capacitor+ packages
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # if using Android
npm install @capacitor-plus/ios # if using iOS
Poiché Capacitor+ è un sostituto diretto con lo stesso API, non sono necessari cambiamenti al code. I tuoi import rimangono invariati:
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
Come funziona
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Sync Giornaliero: Un'azione GitHub recupera le ultime modifiche da
ionic-team/capacitor - Creazione PR: Le modifiche vengono proposte come pull request su
plusbranch - Validazione CI: Esecuzione suite test completa (lint, unit test, build iOS, build Android)
- Review Code via Claude: Analisi di sicurezza completa tramite AI per verificare:
- Vulnerabilità di sicurezza (injection, XSS, ecc.)
- Breaking changes su API
- Rischi di crash e problemi di stabilità
- Integrità dei dati e privacy
- Pattern code malevoli
- Auto-Merge: Solo se la CI passa E Claude approva (nessun problema rilevato)
- Auto-Publish: Una nuova versione è stata pubblicata su npm in
@capacitor-plus/*
Revisione di sicurezza
Ogni sincronizzazione upstream viene analizzata per:
| Verifica | Descrizione |
|---|---|
| Sicurezza | Command injection, XSS, path traversal, hardcoded secrets, ecc. |
| Breaking changes | API rimosse/rinominate, firme modificate, cambiamenti nel formato config |
| Stabilità | Null dereferences, eccezioni non gestite, race condition, memory leak |
| Sicurezza dei dati | Perdita di dati, violazioni della privacy, storage non sicuro |
| Integrità di Code | code offuscato, chiamate di rete sospette, backdoor |
Se vengono rilevati problemi, la PR viene segnalata per una revisione manuale e NON verrà unita automaticamente.
Vuoi che la tua PR venga approvata?
Hai una PR bloccata nel repo ufficiale di Capacitor? Ecco come portarla in Capacitor+:
- Apri un issue nel Repo Capacitor+ collegando la tua PR upstream
- O invia direttamente la PR al
plusbranch - Il team lo revisionerà, eseguirà la CI e lo mergerà se supera i test
In questo modo, tu e gli altri potrete beneficiare subito del tuo lavoro, senza attendere il ciclo di rilascio upstream.
Vantaggi
- Ottieni subito le PR bloccate: Le fix e le feature della community in attesa di upstream vengono mergiate
- Rimani aggiornato: Ottieni le fix upstream non appena superano la CI
- Sicurezza al primo posto: Ogni modifica viene revisionata per vulnerabilità e rischi di stabilità
- Release verificate: Vengono pubblicate solo le modifiche che superano sia i test CI che la revisione di sicurezza AI
- Sostituzione Plug-and-Play: Stesso API di Capacitor, solo con un diverso scope del pacchetto
- La tua opinione conta: Invia le tue PR o richiedi il merge di specifiche PR upstream
Esempio: Usare Capacitor+ con i Plugin
Tutti i plugin ufficiali Capacitor funzionano perfettamente con Capacitor+:
import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
// Everything works exactly the same
const platform = Capacitor.getPlatform();
const photo = await Camera.getPhoto({
resultType: CameraResultType.Uri
});
const position = await Geolocation.getCurrentPosition();
Anche i plugin Capgo funzionano perfettamente con Capacitor+:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Use Capgo plugins with Capacitor+
await CapacitorUpdater.notifyAppReady();
await ScreenOrientation.lock({ orientation: 'portrait' });
Tutto qui! Ora hai una versione di Capacitor aggiornata più velocemente, con i miglioramenti della community integrati prima. Le tue app beneficeranno di bug fix e nuove feature senza attendere il ciclo di rilascio ufficiale.
Continua da Usare i Pacchetti Capacitor+ (@capacitor-plus)
Se stai usando Utilizzo dei pacchetti Capacitor+ (@capacitor-plus) per pianificare il lavoro sui plugin nativi, collegalo a Capacitor+ per i dettagli di implementazione in Capacitor+ Directory dei plugin di Capgo per il workflow del prodotto nella Capgo Plugin Directory, Plugin Capacitor di Capgo per i dettagli di implementazione in Capacitor Plugins di Capgo, Aggiunta o aggiornamento dei plugin per i dettagli su come aggiungere o aggiornare i plugin, e Alternative ai plugin Ionic Enterprise per il workflow del prodotto in Alternative ai plugin Ionic Enterprise.