Saltare al contenuto

Inizia a utilizzare

  1. Installa 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 giΓ  un progetto Capacitor esistente, migrare a Capacitor+ Γ¨ semplice:

  1. Elimina pacchetti ufficiali

    Finestra del terminale
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Installa 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+ Γ¨ compatibile con API-, 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 ufficiali Capacitor 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' });

Capgo plugin funziona 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 al plus Ramo
  3. Valutazione CI: Esegue l'intero set di test (lint, test unitari, build iOS, build Android)
  4. Rivista di sicurezza: L'analisi alimentata dall'intelligenza artificiale controlla per vulnerabilitΓ  e modifiche breaking
  5. Auto-Merge: Solo se CI passa E la revisione di sicurezza approva
  6. Auto-Pubblica: Nuova versione pubblicata su npm sotto @capacitor-plus/*

Ogni sincronizzazione upstream viene analizzata per:

VerificaCosa Cattura
SicurezzaIniezione di comando, XSS, percorso di navigazione, segreti hardcoded
Cambiamenti RilevantiAPI rimosse/renominati, firme di firma cambiate, modifiche di configurazione
StabilitΓ Null dereferences, eccezioni non gestite, condizioni di corsa, perdite di memoria
Sicurezza dei datiScenari di perdita di dati, violazioni della privacy, archiviazione non sicura
Code IntegritΓ IntegritΓ  di code oscurata, chiamate di rete sospette, backdoor

Have a PR stuck in the official Capacitor repo? Get it merged in Capacitor+:

  1. Apri un issue nel Capacitor+ repository facendo riferimento al tuo PR upstream

  2. O invia direttamente come un 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 aspettare 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 @capacitor/* plugin funzionano con Capacitor+ senza bisogno di alcuna modifica.

Cosa succede se l'upstream rilascia un cambiamento di compatibilitΓ ?

Sezione intitolata β€œCosa succede se l'upstream rilascia un cambiamento di compatibilitΓ ?”

La revisione di sicurezza con AI segnala i cambiamenti di compatibilitΓ  per una revisione manuale. Vedrai le modifiche documentate prima che vengano merge.

Segnalare gli issue su Capacitor + GitHub repository. Per i problemi che interessano anche la versione ufficiale di Capacitor, aiuteremo a coordinare l'aggiornamento.

Sì! Sono accetti i PR. Puoi inviare direttamente le correzioni o richiedere che vengano integrate specifiche PR di upstream.

Se stai utilizzando Getting Started per pianificare il lavoro sui plugin nativi, connettilo con Usando Capacitor+ (@capacitor-plus) Pacchetti per la capacitΓ  nativa in Usando Capacitor+ (@capacitor-plus) Pacchetti Capgo Directory dei Plugin per il flusso di lavoro del prodotto nel Capgo Directory dei Plugin, Capacitor Plugin da Capgo per la dettaglio di implementazione in Capacitor Plugin da Capgo, Aggiunta o Aggiornamento dei Plugin per la dettaglio di implementazione in Aggiunta o Aggiornamento dei Plugin, e Alternative Plugin Enterprise Ionic per il flusso di lavoro del prodotto in Alternative Plugin Enterprise Ionic.