Saltare al contenuto

Inizio

  1. Installare i pacchetti di base

    Finestra del terminale
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. Aggiungi pacchetti di piattaforma

    Finestra del terminale
    npm install @capacitor-plus/android # for Android
    npm install @capacitor-plus/ios # for iOS
  3. Inizializza Capacitor

    Finestra del terminale
    npx cap init
  4. Aggiungi piattaforme

    Finestra del terminale
    npx cap add android
    Finestra del terminale
    npx cap add ios

Se hai un progetto esistente Capacitor, migrare a Capacitor+ Γ¨ semplice:

  1. Elimina i pacchetti ufficiali

    Finestra del terminale
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Installa i pacchetti Capacitor+

    Finestra del terminale
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # if using Android
    npm install @capacitor-plus/ios # if using iOS
  3. Sincronizza il tuo progetto

    Finestra del terminale
    npx cap sync

PoichΓ© Capacitor+ Γ¨ API-compatibile, il tuo code esistente funziona senza modifiche:

import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
// Check platform
const platform = Capacitor.getPlatform();
console.log('Running on:', platform);
// Check if native
if (Capacitor.isNativePlatform()) {
console.log('Running on native platform');
}
// Register a custom plugin
const MyPlugin = registerPlugin('MyPlugin');

Tutti i plugin Capacitor ufficiali funzionano senza problemi:

import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
import { Storage } from '@capacitor/preferences';
// Camera
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri
});
// Geolocation
const position = await Geolocation.getCurrentPosition();
// Storage
await Storage.set({ key: 'name', value: 'John' });

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';
// Live updates
await CapacitorUpdater.notifyAppReady();
// Screen orientation
await ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlight
await CapacitorFlash.toggle();
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ionic-team/ β”‚ β”‚ CI/CD β”‚ β”‚ Claude Code β”‚ β”‚ npm publish β”‚
β”‚ capacitor │────▢│ Pipeline │────▢│ Security Review │────▢│ @capacitor-plusβ”‚
β”‚ (upstream) β”‚ β”‚ (daily sync) β”‚ β”‚ (AI analysis) β”‚ β”‚ packages β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Sincronizzazione quotidiana: GitHub Azioni recuperano le ultime modifiche da ionic-team/capacitor
  2. Creazione PR: Le modifiche vengono proposte come richieste di pull alle plus Verifica CI
  3. : Esegue l'intero set di test (lint, test unitari, build iOS, build Android)Rivista di sicurezza
  4. Rivista di sicurezza: Analisi potenziata da AI controlla vulnerabilitΓ  e cambiamenti di versione
  5. Auto-Merge: Solo se CI passa E la revisione di sicurezza approva
  6. Auto-Publish: Nuova versione pubblicata su npm sotto @capacitor-plus/*

Ogni sincronizzazione upstream viene analizzata per:

CheckCosa Cattura
SicurezzaIniezione di comando, XSS, percorso di navigazione, segreti hardcoded
Modifiche CriticheAPI eliminati/rinominati, cambiati i segni di fine riga, modifiche di configurazione
StabilitΓ Dereferenziazione di null, eccezioni non gestite, condizioni di corsa, perdite di memoria
Sicurezza dei DatiScenari di perdita di dati, violazioni della privacy, archiviazione non sicura
Code IntegritΓ Oscurezza di code, chiamate di rete sospette, porte di backdoor

Hai una PR bloccata nel repository ufficiale Capacitor? Ottienila in Capacitor+:

  1. Apri un issue nel Capacitor+ repository facendo riferimento alla tua PR upstream

  2. O invia direttamente come una PR al plus ramo

  3. L'equipaggio esaminerΓ , eseguirΓ  CI e unirΓ  se supera

In questo modo tu e gli altri potrete beneficiare del tuo lavoro immediatamente senza dover attendere il ciclo di rilascio upstream.

Sì. Capacitor+ viene utilizzato negli app di produzione. Ogni rilascio supera lo stesso set di test ufficiale di Capacitor, più un'analisi di sicurezza aggiuntiva.

Sì. Tutti i plugin funzionano con __CAPGO_KEEP_0__+ senza bisogno di modifiche. @capacitor/* plugins work with Capacitor+ out of the box.

Sezione intitolata β€œCosa succede se gli sviluppatori rilasciano una modifica di rottura?”

La revisione di sicurezza con AI segnala le modifiche di rottura per una revisione manuale. Vedrai le modifiche documentate prima che vengano merge.

Come posso segnalare problemi?

Sezione intitolata β€œCome posso segnalare problemi?”

Sezione intitolata β€œCome segnalare gli errori?”

Segnalare gli errori sul Capacitor + GitHub repository. Per gli errori che interessano anche il Capacitor ufficiale, aiuteremo a coordinare l'aggiornamento.

Sì! Le PR sono benvenute. Puoi inviare direttamente le correzioni o richiedere che specifiche PR upstream vengano integrate.