Iniziare
Installazione Nuovo Progetto
Section titled βInstallazione Nuovo Progettoβ-
Installa pacchetti core
Terminal window npm install @capacitor-plus/core @capacitor-plus/cli -
Aggiungi pacchetti piattaforma
Terminal window npm install @capacitor-plus/android # per Androidnpm install @capacitor-plus/ios # per iOS -
Inizializza Capacitor
Terminal window npx cap initTerminal window pnpm cap initTerminal window yarn cap initTerminal window bunx cap init -
Aggiungi piattaforme
Terminal window npx cap add androidTerminal window pnpm cap add androidTerminal window yarn cap add androidTerminal window bunx cap add androidTerminal window npx cap add iosTerminal window pnpm cap add iosTerminal window yarn cap add iosTerminal window bunx cap add ios
Migrazione da Capacitor Ufficiale
Section titled βMigrazione da Capacitor UfficialeβSe hai un progetto Capacitor esistente, la migrazione a Capacitor+ Γ¨ semplice:
-
Rimuovi pacchetti ufficiali
Terminal window npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios -
Installa pacchetti Capacitor+
Terminal window npm install @capacitor-plus/core @capacitor-plus/clinpm install @capacitor-plus/android # se usi Androidnpm install @capacitor-plus/ios # se usi iOS -
Sincronizza il tuo progetto
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Utilizzo
Section titled βUtilizzoβPoichΓ© Capacitor+ Γ¨ compatibile con lβAPI, il tuo codice esistente funziona senza modifiche:
import { Capacitor } from '@capacitor/core';import { registerPlugin } from '@capacitor/core';
// Controlla piattaformaconst platform = Capacitor.getPlatform();console.log('In esecuzione su:', platform);
// Controlla se nativoif (Capacitor.isNativePlatform()) { console.log('In esecuzione su piattaforma nativa');}
// Registra un plugin personalizzatoconst MyPlugin = registerPlugin('MyPlugin');Con Plugin Capacitor Ufficiali
Section titled βCon Plugin Capacitor UfficialiβTutti i plugin ufficiali Capacitor funzionano senza problemi:
import { Camera, CameraResultType } from '@capacitor/camera';import { Geolocation } from '@capacitor/geolocation';import { Storage } from '@capacitor/preferences';
// Fotocameraconst photo = await Camera.getPhoto({ quality: 90, resultType: CameraResultType.Uri});
// Geolocalizzazioneconst position = await Geolocation.getCurrentPosition();
// Archiviazioneawait Storage.set({ key: 'name', value: 'John' });Con Plugin Capgo
Section titled βCon Plugin CapgoβI plugin Capgo funzionano perfettamente con Capacitor+:
import { CapacitorUpdater } from '@capgo/capacitor-updater';import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';import { CapacitorFlash } from '@capgo/capacitor-flash';
// Aggiornamenti liveawait CapacitorUpdater.notifyAppReady();
// Orientamento schermoawait ScreenOrientation.lock({ orientation: 'portrait' });
// Torciaawait CapacitorFlash.toggle();Come Funziona la Sincronizzazione
Section titled βCome Funziona la Sincronizzazioneββββββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ionic-team/ β β CI/CD β β Claude Code β β npm publish ββ capacitor ββββββΆβ Pipeline ββββββΆβ Security Review ββββββΆβ @capacitor-plusββ (upstream) β β (sync giornaliero) β β (analisi AI) β β packages ββββββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ- Sync Giornaliero: GitHub Actions recupera le ultime modifiche da
ionic-team/capacitor - Creazione PR: Le modifiche vengono proposte come pull request al branch
plus - Validazione CI: La suite completa di test viene eseguita (lint, unit test, build iOS, build Android)
- Security Review: Lβanalisi alimentata da AI controlla vulnerabilitΓ e breaking changes
- Auto-Merge: Solo se CI passa E la security review approva
- Auto-Publish: Nuova versione pubblicata su npm sotto
@capacitor-plus/*
Dettagli Security Review
Section titled βDettagli Security ReviewβOgni sincronizzazione upstream viene analizzata per:
| Controllo | Cosa Rileva |
|---|---|
| Security | Iniezione comandi, XSS, attraversamento percorsi, segreti hardcoded |
| Breaking Changes | API rimosse/rinominate, firme modificate, modifiche configurazione |
| StabilitΓ | Dereferenziazioni null, eccezioni non gestite, race condition, memory leak |
| Data Safety | Scenari di perdita dati, violazioni privacy, archiviazione insicura |
| Code Integrity | Codice offuscato, chiamate di rete sospette, backdoor |
Invio della Tua PR
Section titled βInvio della Tua PRβHai una PR bloccata nel repository ufficiale Capacitor? Falla integrare in Capacitor+:
-
Apri un issue nel repository Capacitor+ linkando alla tua PR upstream
-
Oppure invia direttamente come PR al branch
plus -
Il team esaminerΓ , eseguirΓ CI e integrerΓ se passa
In questo modo tu e altri potete beneficiare del vostro lavoro immediatamente senza aspettare il ciclo di rilascio upstream.
Γ pronto per la produzione?
Section titled βΓ pronto per la produzione?βSΓ¬. Capacitor+ Γ¨ usato in app di produzione. Ogni rilascio passa la stessa suite di test di Capacitor ufficiale, piΓΉ analisi di sicurezza aggiuntiva.
I miei plugin ufficiali funzioneranno ancora?
Section titled βI miei plugin ufficiali funzioneranno ancora?βSΓ¬. Tutti i plugin @capacitor/* funzionano con Capacitor+ out of the box.
Cosa succede se upstream rilascia un breaking change?
Section titled βCosa succede se upstream rilascia un breaking change?βLa security review AI segnala i breaking changes per revisione manuale. Vedrai le modifiche documentate prima che vengano integrate.
Come segnalo problemi?
Section titled βCome segnalo problemi?βInvia issue sul repository GitHub Capacitor+. Per problemi che influenzano anche Capacitor ufficiale, aiuteremo a coordinare upstream.
Posso contribuire?
Section titled βPosso contribuire?βAssolutamente! Le PR sono benvenute. Puoi inviare fix direttamente o richiedere che specifiche PR upstream vengano integrate.