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

@Capacitor+ Core

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

Guida

Tutorial su Capacitor+ Core

Utilizzo di Capacitor+ (@capacitor-plus) Pacchetti

Capacitor+ è un fork automatico e sempre sincronizzato di Capacitor mantenuto da Capgo. Offre una sostituzione a cadenza di scambio per i pacchetti ufficiali di Capacitor con un vantaggio chiave: le PR e le correzioni della community 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 ci arrivano mai.

Capacitor+ risolve questo problema in questo modo:

  1. Unione di PR da Fork - I preziosi PR bloccati nella coda upstream vengono uniti attivamente
  2. Sincronizzazione Continua - Ogni modifica da upstream Capacitor viene automaticamente estratta, testata e verificata
  3. Rilasci Veloci - Quando le modifiche superano la CI, vengono automaticamente pubblicate su npm sotto lo @capacitor-plus Sco
  4. Primo della Comunità - 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 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

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 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       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  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, unit test, build iOS, build Android)
  4. Recensione di Claude Code: Analisi di sicurezza avanzata alimentata dall'intelligenza artificiale controlla:
    • Vulnerabilità di sicurezza (iniezione, XSS, ecc.)
    • Modifiche API che possono rompere
    • Rischio di crash e problemi di stabilità
    • Preoccupazioni per l'integrità e la privacy dei dati
    • Modelli code maliziosi
  5. Auto-Merge: Solo se CI passa e Claude approva (nessun problema rilevato)
  6. Auto-Publish: Una nuova versione viene pubblicata su npm sotto @capacitor-plus/*

Recensione di Sicurezza

Tutti gli aggiornamenti sincronizzati sono analizzati per:

Verifica Descrizione
Sicurezza Comando di iniezione, XSS, percorso di navigazione, segreti hardcoded, ecc.
Cambiamenti di versione API eliminate o rinominate, firme di firma cambiate, modifiche al formato di configurazione
Stabilità Riferimenti a nulli, eccezioni non gestite, condizioni di corsa, perdite di memoria
Sicurezza dei dati Scenari di perdita di dati, violazioni della privacy, archiviazione non sicura
Code Integrity Otturato code, chiamate di rete sospette, porte dietro

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 in il Capacitor+ repository facendo riferimento al tuo PR upstream
  2. Ovvero invia direttamente il PR a il plus branch
  3. Il team lo esaminerà, eseguirà il CI e lo fonderà se supera le prove

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

Vantaggi

  • contextPRs bloccati adesso
  • : Fix e funzionalità della community che attendono upstream vengono mergeResta aggiornato
  • : Ottieni i fix upstream non appena passano CIPrima della sicurezza
  • : Ogni modifica viene valutata per vulnerabilità e rischi di stabilitàRilasci verificati
  • : Solo le modifiche che passano sia i test di CI che la revisione di sicurezza AI vengono pubblicati: Same API as Capacitor, just a different package scope
  • La tua voce conta: Invia le tue PR o richiedi PR specifiche upstream da 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' });

Ecco fatto! 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 sui plugin nativi, connettilo con Capacitor+ per i dettagli di implementazione in Capacitor+: Plugin Directory di Capgo per il workflow del prodotto in Plugin Directory di Capgo Plugin di Capacitor sviluppati da Capgo per i dettagli di implementazione in Plugin di Capacitor sviluppati da Capgo Aggiungere o Aggiornare Plugin per i dettagli di implementazione in Aggiungere o Aggiornare Plugin, e Alternative per Plugin Enterprise di Ionic per il workflow del prodotto in Alternative per Plugin Enterprise di Ionic.