Saltare al contenuto principale
Indietro ai plugin
@capacitor-plus/core
Tutorial
@capacitor-plus/core

Capacitor+ Core

Capacitor+ è una fork automatizzata, sincronizzata sempre, di Capacitor con PR della community fusionati e rilasci rapidi

Guida

Tutorial su Capacitor+ Core

Utilizzo di Capacitor+ (@capacitor-plus) Pacchetti

Capacitor+ è un fork automatizzato e sempre sincronizzato di Capacitor gestito da Capgo. Offre una sostituzione a cadenza di scambio per i pacchetti ufficiali Capacitor con un vantaggio chiave: le PR della community e le correzioni vengono integrate più velocemente.

Why Capacitor+ Esiste

La squadra Ionic mantiene Capacitor con le proprie 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 merge. Alcune non arrivano mai.

Capacitor+ risolve questo problema in quanto:

  1. Merging PRs dai Fork - I PR preziosi bloccati nella coda upstream vengono attivamente merge
  2. Sincronizzazione Continua - Ogni cambiamento da Capacitor upstream viene automaticamente estrapolato, testato e verificato
  3. Rilasci Veloci - Quando i cambiamenti superano la CI, vengono automaticamente pubblicati su npm sotto lo @capacitor-plus scope
  4. Comunità Prima - Le tue contribuzioni contano e vengono priorizzate
  5. Verificato per la Sicurezza - Ogni modifica viene analizzata dall'IA 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

Nuovo Progetto

Per un nuovo progetto, utilizza semplicemente i pacchetti Capacitor+ al posto dei classici:

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

Migrare 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 di mano con lo stesso API, non sono necessarie 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       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. Sincronizzazione quotidiana: Un'azione GitHub recupera le ultime modifiche da ionic-team/capacitor
  2. Creazione PR: Le modifiche vengono proposte come richieste di pull alle plus ramo
  3. Validazione CI: Esegue il set completo di test (lint, test unitari, build iOS, build Android)
  4. Recensione di Claude Code: Analisi di sicurezza avanzata alimentata dall'IA controlla:
    • Vulnerabilità di sicurezza (iniezione, XSS, ecc.)
    • Modifiche di API che possono rompere il codice
    • Rischio di crash e problemi di stabilità
    • Preoccupazioni per l'integrità e la privacy dei dati
    • Modelli di code maliziosi
  5. Auto-Merge: Pubblica solo se il CI passa e Claude approva (nessun problema rilevato)
  6. Auto-Publish: Una nuova versione viene pubblicata su npm sotto @capacitor-plus/*

Recensione di Sicurezza

Ogni sincronizzazione upstream viene analizzata per:

Controlla Descrizione
Sicurezza Iniezione di comando, XSS, percorso di navigazione, segreti hardcoded, ecc.
Cambiamenti di versione API eliminati/renominati, firme di firma cambiate, modifiche al formato di configurazione
Stabilità Dereferenziazione a null, eccezioni non gestite, condizioni di corsa, perdite di memoria
Sicurezza dei dati Scenari di perdita di dati, violazioni della privacy, archiviazione non sicura
Code Integrità Oscure code, chiamate di rete sospette, porte posteriori

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+:

  1. Apri un issue nel repository Capacitor+ facendo riferimento al tuo PR upstream
  2. O altrimenti invia direttamente il PR plus alla
  3. branch

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

Vantaggi

  • PR bloccati oraRisposte della comunità e funzionalità in attesa upstream che vengono merge
  • Resta aggiornatoRicevi le correzioni upstream non appena passano le prove di CI
  • Prima della sicurezzaOgni modifica viene valutata per vulnerabilità e rischi di stabilità
  • Rilasci verificatiVengono pubblicati solo le modifiche che passano sia le prove di CI che la revisione di sicurezza AI
  • Sostituzione a cadutaLo stesso API di Capacitor, solo un diverso ambito di pacchetto
  • La tua voce conta: Invia le tue PR o richiedi PR specifiche upstream da unire

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();

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! Hai ora una versione aggiornata più veloce 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 da Utilizzare Capacitor+ (@capacitor-plus) Pacchetti

Se stai utilizzando Utilizzare Capacitor+ (@capacitor-plus) Pacchetti per pianificare il lavoro di plugin nativi, connettilo con Capacitor+ per i dettagli di implementazione in Capacitor+, Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, I plugin Capgo di Capacitor per il dettaglio di implementazione dei plugin di Capacitor di Capgo, Aggiungere o aggiornare i plugin per il dettaglio di implementazione di Aggiungere o aggiornare i plugin, e Alternative plugin Enterprise Ionic per il flusso di lavoro del prodotto in Alternative plugin Enterprise Ionic.