Zum Hauptinhalt springen
Zurück zu Plugins
@capacitor-plus/core
Tutorial
@capacitor-plus/core

@Capacitor+ Core

Capacitor+ ist ein automatisiertes, immer synchronisiertes Fork von Capacitor mit integrierten Community-PRs und schnellen Releases

Richtlinie

Tutorial zu Capacitor+-Core

Mit Capacitor+ (@capacitor-plus) Paketen arbeiten

Capacitor+ ist ein automatisiertes, immer synchronisiertes Fork von Capacitor unterhalten durch Capgo. Es bietet eine einfache Ersatzlösung für die offiziellen Capacitor-Pakete mit einem entscheidenden Vorteil: Community-PRs und -Fixes werden schneller integriert.

Warum Capacitor+ existiert

Das Ionic-Team unterhält Capacitor mit ihren eigenen Prioritäten und Veröffentlichungszeiträumen. Dies bedeutet, dass Community-Beiträge - Fehlerbehebungen, Verbesserungen und Funktionen - Monate oder sogar Jahre auf sich warten lassen, um integriert zu werden. Einige werden nie überhaupt integriert.

Capacitor+ löst dieses Problem auf die folgende Weise:

  1. Merging von PRs aus Forks - Wertvolle PRs, die im upstream-Queue stecken, werden aktiv integriert
  2. Kontinuierliche Synchronisierung - Jeder Änderung von upstream Capacitor wird automatisch gezogen, getestet und überprüft
  3. Schnelle Veröffentlichungen - Wenn Änderungen CI passieren, werden sie automatisch auf npm unter dem @capacitor-plus Scope
  4. Community-First - Ihre Beiträge zählen und werden priorisiert
  5. Sicherheitsüberprüft - Jede Änderung wird durch KI für Sicherheitslücken, Bruchänderungen und Stabilitätsrisiken analysiert

Verfügbare Pakete

Paket Beschreibung
@capacitor-plus/core Kernlaufzeitbibliothek
@capacitor-plus/cli Befehlszeileninterface
@capacitor-plus/android Android-Laufzeit
@capacitor-plus/ios iOS Runtime

Installation

Neuer Projekt

Für ein neues Projekt verwenden Sie einfach die Capacitor+-Pakete anstelle der offiziellen:

npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android  # for Android
npm install @capacitor-plus/ios      # for iOS

Initialisieren Sie dann Ihr Projekt:

npx cap init
npx cap add android
npx cap add ios

Migration von Official Capacitor

Um ein bestehendes Projekt von offiziellen Capacitor zu Capacitor+: zu migrieren:

# 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

Da Capacitor+ ein drop-in-Ersatz mit demselben API ist, sind keine code Änderungen erforderlich. Ihre Imports bleiben gleich:

// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';

Wie es funktioniert

┌─────────────────────┐     ┌──────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  ionic-team/        │     │  CI/CD           │     │  Claude Code     │     │  npm publish    │
│  capacitor          │────▶│  Pipeline        │────▶│  Security Review │────▶│  @capacitor-plus│
│  (upstream)         │     │  (daily sync)    │     │  (AI analysis)   │     │  packages       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. Tägliche Synchronisierung: Ein GitHub-Action holt die neuesten Änderungen von ionic-team/capacitor
  2. Erstellung von PR: Änderungen werden als Pull Requests zur plus __CAPGO_KEEP_0__
  3. : Vollständige Test-Suite läuft (Lint, Einheitstests, iOS-Build, Android-Build)__CAPGO_KEEP_0__-Überprüfung durch Claude
  4. Claude Code ReviewSicherheitslücken (Injection, XSS usw.)
    • Zerstörungsfähige __CAPGO_KEEP_0__-Änderungen
    • Breaking API changes
    • Datenschutz und Integritätsbedenken
    • Schädliche __CAPGO_KEEP_0__-Muster
    • Malicious code patterns
  5. branch: Nur wenn CI erfolgreich ist UND Claude genehmigt (keine Probleme gefunden)
  6. Auto-Publish: Eine neue Version wird unter npm veröffentlicht @capacitor-plus/*

Security Review

Jeder Upstream-Sync wird auf folgende Sicherheitsrisiken analysiert:

Check Beschreibung
Sicherheit Command injection, XSS, path traversal, hardcoded secrets, etc.
Breaking Changes Entfernte/umbenannte APIs, geänderte Signatur, Änderungen im Konfigurationsformat
Stabilität Nullpointerfehler, unbehandelte Exceptions, Rassenbedingungen, Speicherlecks
Daten-Sicherheit Datenverlustszenarien, Verletzungen der Privatsphäre, unsichere Speicherung
Code-Integrität Verschlüsselte code, verdächtige Netzwerkaufrufe, Hintertüren

Wenn bei der Überprüfung Probleme festgestellt werden, wird der Pull-Request für eine manuelle Überprüfung markiert und wird NICHT automatisch zusammengeführt.

Willst du Deinen Pull-Request akzeptieren lassen?

Hast du einen Pull-Request, der im offiziellen Capacitor-Repository steckt? Hier ist, wie du ihn in Capacitor+ einbringen kannst:

  1. Öffne ein Issue im Capacitor+-Repository mit einem Verweis auf Deinen upstream-Pull-Request
  2. direkt einen PR einreichen in die plus Zweig
  3. Das Team wird es überprüfen, CI ausführen und es mergen, wenn es CI passiert

So können Sie und andere sofort von Ihrem Werk profitieren, ohne auf den Zeitplan der upstream-Veröffentlichung zu warten

Vorteile

  • Stuck PRs jetzt: Gemeinschaftsfixe und -features, die upstream wartend sind, werden eingearbeitet
  • : Upstream-Fixes erhalten Sie, sobald sie CI passieren: Jeder Änderung wird auf Sicherheitslücken und Stabilitätsrisiken hin überprüft
  • __CAPGO_KEEP_0____CAPGO_KEEP_0__
  • Gewährleistete ReleasesNur Änderungen, die sowohl die CI-Tests als auch die Sicherheitsprüfung durch KI erfolgreich bestanden haben, werden veröffentlicht
  • Drop-in-Ersatzteil: Das gleiche API wie Capacitor, nur mit einem anderen Paketbereich
  • Ihre Stimme zählt: Senden Sie Ihre eigenen PRs oder fordern Sie spezifische upstream-PRs an, um sie zu melden

Beispiel: Verwendung von Capacitor+ mit Plugins

Alle offiziellen Capacitor-Plugins funktionieren reibungslos mit 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();

Capgo-Plugins funktionieren auch perfekt mit 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' });

Das ist alles! Sie haben jetzt eine schneller aktualisierte Version von Capacitor mit Community-Verbesserungen, die schneller integriert werden. Ihre Apps werden von Bugfixes und Funktionen profitieren, ohne auf das offizielle Release-Zyklus warten zu müssen.

Fortsetzen von Using Capacitor+ (@capacitor-plus)-Pakete

Wenn Sie __CAPGO_KEEP_0__ verwenden Mit Capacitor+ (@capacitor-plus) Paketen um native Plugin-Arbeit zu planen, verbinden Sie es mit Capacitor+ für die Implementierungsdetails in Capacitor+ Capgo Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo, Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren, und Ionic Enterprise Plugin Alternativen für den Produktworkflow in Ionic Enterprise Plugin Alternativen.