Guida
Tutoriale su Capacitor+ Core
Utilizzo dei pacchetti Capacitor+ (@capacitor-plus)
Capacitor+ è una fork automatizzata e sempre sincronizzata di Capacitor curata da Capgo. Fornisce una sostituzione a getto secco per i pacchetti ufficiali Capacitor con un vantaggio chiave: I PR della community vengono integrati più velocemente.
Perché Capacitor+ esiste
Il team 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 attendere mesi o anche anni per essere integrate. Alcune non vengono mai integrate.
Capacitor+ risolve questo problema con:
- Integrazione dei PR dai Fork - I preziosi PR bloccati nella coda upstream vengono integrati attivamente
- Sincronizzazione Continua - Ogni modifica da upstream Capacitor viene automaticamente recuperata, testata e verificata
- Rilasci Veloci - Quando le modifiche superano la CI, vengono automaticamente pubblicati su npm sotto lo scope
@capacitor-plusscope - Comunità-Prima - Le tue contribuzioni contano e vengono priorizzate
- Verificato per la Sicurezza - Ogni modifica viene analizzata dall'AI per vulnerabilità di sicurezza, cambiamenti di rotta e rischi di stabilità
Pacchetti Disponibili
| Pacchetto | Descrizione |
|---|---|
@capacitor-plus/core |
Libreria runtime di base |
@capacitor-plus/cli |
Interfaccia a riga di comando |
@capacitor-plus/android |
Runtime per Android |
@capacitor-plus/ios |
Runtime per iOS |
Installazione
Progetto Nuovo
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
Inizializza quindi 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+ è un sostituto a caduta 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Sincronizzazione Giornaliera: Un'azione GitHub recupera le ultime modifiche da
ionic-team/capacitor - Creazione di PR: Le modifiche vengono proposte come richieste di pull ai
plusRamo - Verifica CI: Eseguire l'intera suite di test (lint, unit test, build iOS, build Android)
- Recensione di Claude Code: Analisi di sicurezza avanzata con AI controlla per:
- Vulnerabilità di sicurezza (iniezione, XSS, ecc.)
- Modifiche di API che possono rompere
- Rischio di crash e problemi di stabilità
- Preoccupazioni per l'integrità e la privacy dei dati
- 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 della sicurezza
Tutti gli aggiornamenti upstream vengono analizzati per:
| Controlla | Descrizione |
|---|---|
| Sicurezza | context: Pagina/area: Pagina prodotti aziendali/prezzi. Ruolo: Etichetta UI. Visualizzato in: pagina enterprise.astro. Chiave messaggio `enterprise_hero_security_label` (Etichetta sicurezza eroe aziendale). |
| Iniezione di comando, XSS, percorso di traversamento, segreti hardcoded, ecc. | Modifiche di sistema |
| Rimosse/renominati API, cambiati segni, modifiche del formato di configurazione | Stabilità |
| context: Pagina/area: Pagina prodotti aziendali/prezzi. Ruolo: Etichetta UI. Visualizzato in: pagina enterprise.astro. Chiave messaggio `enterprise_hero_stability_label` (Etichetta stabilità eroe aziendale). | Sfide di perdita di dati, violazioni della privacy, archiviazione non sicura |
| Code Integrità | Obfuscato code, chiamate di rete sospette, porte di backdoor |
Se vengono rilevati eventuali problemi, il PR viene segnalato per una revisione manuale e NON sarà automaticamente fuso.
Vuoi che il tuo PR venga fuso?
Hai un PR bloccato nel repository ufficiale Capacitor? Ecco come farlo entrare in Capacitor+:
- Apri un issue nel Capacitor+ repository facendo riferimento al tuo PR upstream
- O invia direttamente il PR al repository __CAPGO_KEEP_0__+
plusramo - La squadra 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
- contesto: Pagina/area: Pagina di marketing delle soluzioni Capgo. Ruolo: Etichetta di interfaccia utente. Visualizzato in: pagina solutions/cordova-to-capacitor.astro. Chiave di messaggio `solutions_cordova_to_capacitor_benefits_label` (Solutions Cordova To Capacitor Benefits Label).Ottieni PR bloccati adesso
- : Rimesse alla comunità e caratteristiche che attendono l'upstream vengono uniteResta all'Ultimo
- : Ottieni rimesse upstream non appena superano CIPrima della Sicurezza
- : Ogni modifica viene esaminata per vulnerabilità e rischi di stabilitàRilasci Verificati
- Rimpiazzo a Insertione: Lo stesso API come Capacitor, ma con uno scope di pacchetto diverso
- La tua Voce Conta: Invia le tue PR o richiedi PR specifiche per essere merge
Esempio: Utilizzare Capacitor+ con Plugin
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' });
È tutto! Ora hai una versione aggiornata più veloce di Capacitor con miglioramenti della community integrate più velocemente. Le tue app beneficeranno di correzioni di bug e funzionalità senza dover attendere il ciclo di rilascio ufficiale.
Continua da Utilizzare Capacitor+ (@capacitor-plus) Pacchetti
Se stai utilizzando Utilizzare Capacitor+ (@capacitor-plus) Pacchetti per pianificare il lavoro dei plugin nativi, connettilo con Capacitor+ per i dettagli di implementazione in Capacitor+ 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, e Sostituti dei Plugin Enterprise Ionic per il flusso di lavoro del prodotto in Sostituti dei Plugin Enterprise Ionic.