Guida
Come utilizzare Capacitor+ Core in Capacitor
Utilizzando Capacitor+ (@capacitor-plus) Pacchetti
Capacitor+ è un fork automatizzato e sincronizzato sempre Capacitor mantenuto da Capgo. Fornisce una sostituzione a caduta di spada per i pacchetti ufficiali Capacitor con un vantaggio chiave: community PRs and fixes are merged faster.
Perché Capacitor+ Esiste
L'equipaggio Ionic mantiene Capacitor con le loro priorità e calendario di rilascio. Ciò significa che le contribuzioni della community - correzioni di bug, miglioramenti e funzionalità - possono aspettare mesi o anche anni per essere integrate. Alcune non vengono mai integrate.
Capacitor+ risolve questo problema in questo modo:
- Integrazione dei PR dai Fork - I PR preziosi bloccati nella coda upstream vengono integrati attivamente
- Sincronizzazione Continua - Ogni modifica proveniente da Capacitor viene automaticamente recuperata, testata e verificata
- Rilasci Rapidi - Quando le modifiche superano la CI, vengono automaticamente pubblicate su npm sotto lo
@capacitor-plusscope - Comunità-Prima - Le tue contribuzioni contano e vengono priorizzate
- Verificato per la Sicurezza - Ogni modifica viene analizzata dall'IA per vulnerabilità di sicurezza, modifiche che rompono e rischi di stabilità
Pacchetti Disponibili
| Pacchetto | Descrizione |
|---|---|
@capacitor-plus/core |
Libreria runtime di base |
@capacitor-plus/cli |
Interfaccia di linea di comando |
@capacitor-plus/android |
Runtime Android |
@capacitor-plus/ios |
Runtime iOS |
Installazione
Nuovo Progetto
Per un nuovo progetto, utilizza 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 Official Capacitor
Per migrare un progetto esistente da Official Capacitor 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+ è una sostituzione a caduta di mano con lo stesso API, non sono richieste modifiche code. Le tue importazioni rimangono le stesse:
// 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Daily Sync: Un'azione GitHub quotidianamente carica le ultime modifiche da
ionic-team/capacitor - Esecuzione PR: Le modifiche vengono proposte come richieste di pull alle
plusRamo - Validazione CI: Esegue l'intero set di test (lint, test unitari, build iOS, build Android)
- Recensione di Claude Code: Analisi di sicurezza avanzata con AI controlla per:
- Vulnerabilità di sicurezza (iniezione, XSS, ecc.)
- Modifiche API che rompono
- Rischio di crash e problemi di stabilità
- Preoccupazioni per l'integrità dei dati e la privacy
- Modelli maliziosi di code
- Auto-Merge: Solo se CI passa e Claude approva (nessun problema rilevato)
- Auto-Publish: Una nuova versione viene pubblicata su npm sotto
@capacitor-plus/*
Rivista di sicurezza
Ogni sincronizzazione upstream viene analizzata per:
| Verifica | Descrizione |
|---|---|
| Sicurezza | Iniezione di comando, XSS, percorso di navigazione, segreti hardcoded, ecc. |
| Modifiche di base | API eliminate/ridenominate, firme modificate, cambiamenti di formato di configurazione |
| Stabilità | Riferimenti a memoria nulli, eccezioni non gestite, condizioni di corsa, fuga di memoria |
| Sicurezza dei Dati | Scenari di perdita di dati, violazioni della privacy, archiviazione non sicura |
| Code Integrity | Obfuscati code, chiamate di rete sospette, porte di servizio |
Se vengono rilevati eventuali problemi, il PR viene segnalato per una revisione manuale e NON sarà automaticamente fuso.
Vuoi che il tuo PR venga accettato?
Hai un PR bloccato nel repository ufficiale di Capacitor? Ecco come farlo entrare in Capacitor+:
- Apri un issue In the Capacitor+ repository Collegamento al tuo PR upstream
- O invia direttamente il PR al
plusramo - L'equipe lo esaminerà, eseguirà CI e lo unirà se supera
In questo modo, tu e gli altri potrete beneficiare del tuo lavoro immediatamente, senza dover attendere il ciclo di rilascio upstream.
Benefici
- Ricevi PR bloccati ora: Comunità di fix e funzionalità in attesa di essere integrate upstream
- Rimani Aggiornato: Ottieni le correzioni upstream non appena passano le prove di CI
- Primo nella Sicurezza: Ogni modifica viene valutata per vulnerabilità e rischi di stabilità
- Rilasci VerificatiSolo le modifiche che superano entrambi i test di CI e la revisione di sicurezza AI vengono pubblicate
- Sostituzione Facile: Lo stesso API di Capacitor, solo con un diverso scope del pacchetto
- La tua Voce Conta: Invia le tue proprie PR o richiedi specifiche PR upstream da essere merge
Esempio: Utilizzare Capacitor+ con Plugins
Tutti i plugin ufficiali Capacitor funzionano senza problemi 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' });
Ecco fatto! Ora hai una versione aggiornata più velocemente di Capacitor con miglioramenti della community integrati più velocemente. Le tue app beneficeranno di correzioni di bug e funzionalità senza dover attendere il ciclo di rilascio ufficiale.
Continua con l'utilizzo di Capacitor+ (@capacitor-plus) Pacchetti
Se stai utilizzando Utilizza Capacitor+ (@capacitor-plus) Pacchetti Per pianificare il lavoro di plugin nativo, connettilo con Capacitor+ Per i dettagli di implementazione in Capacitor+, Capgo Directory dei Plugin per il workflow del prodotto nella Capgo Directory dei Plugin. Capacitor Plugin di Capgo Per i dettagli di implementazione in Capacitor Plugin di Capgo, Aggiungere o Aggiornare i Plugin per i dettagli di implementazione in Aggiungere o Aggiornare Plugin, e Alternative per Plugin Enterprise Ionic per il workflow del prodotto negli Alternative Plugin di Ionic Enterprise.