Zum Hauptinhalt springen
Zurück zu Plugins
@capacitor-plus/core
Tutorial
von github.com/Cap-go

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 von __CAPGO_KEEP_0__ Capgo. Es bietet einen einbaufertigen Ersatz für die offiziellen Capacitor-Pakete mit einem wichtigen Vorteil: Community-PRs und -Fehler werden schneller integriert.

Warum Capacitor+ existiert

Die Ionic-Team hält Capacitor mit ihren eigenen Prioritäten und Veröffentlichungsplan.

Capacitor+ löst dieses Problem auf, indem:

  1. Merging von PRs aus Forks - Wichtige PRs, die sich im upstream-Queue befinden, werden aktiv integriert.
  2. Continuous Sync - Jeder Änderung aus dem upstream-Capacitor wird automatisch gezogen, getestet und überprüft.
  3. Rapid Releases - Wenn Änderungen CI bestehen, werden sie automatisch auf npm unter dem @capacitor-plus Scope
  4. Community-First - Ihre Beiträge zählen und werden priorisiert.
  5. Security Reviewed - Jeder Ä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-Laufzeitumgebung
@capacitor-plus/ios iOS-Laufzeitumgebung

Installation

Neues Projekt

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

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

Dann initialisieren Sie Ihr Projekt:

npx cap init
npx cap add android
npx cap add ios

Von Official Capacitor migrieren

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 einbaufertiges Ersatzprodukt 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 Pull Requests: Änderungen werden als Pull Requests zur plus Zweig
  3. Validierung durch CI: Vollständige Test-Suite läuft (Linter, Einheitstests, iOS-Build, Android-Build)
  4. Claude Code-Review: KI-gestützte umfassende Sicherheitsanalyse prüft:
    • Sicherheitslücken (Einschübe, XSS usw.)
    • Zerbrechende API Änderungen
    • Risiken für Abstürze und Stabilitätsprobleme
    • Datenschutz- und Privatsphäre-Bedrohungen
    • Bösartige code Muster
  5. Auto-Merge: Nur wenn CI erfolgreich ist UND Claude zustimmt (keine Probleme gefunden)
  6. Auto-Publish: Eine neue Version wird unter npm veröffentlicht @capacitor-plus/*

Sicherheitsüberprüfung

Jede Upstream-Synchronisierung wird auf folgende Aspekte analysiert:

Überprüfung Beschreibung
Sicherheit Befehlsinjektion, XSS, Pfadüberprüfung, festgelegte Geheimnisse usw.
Änderungen mit Auswirkungen auf die Kompatibilität Entfernte/umbenannte APIs, geänderte Signatur, Änderungen der Konfigurationsformatierung
Stabilität Null-Verweise, unbehandelte Exceptions, Rassenbedingungen, Speicherverluste
Daten-Sicherheit Datenverlustszenarien, Verletzung der Privatsphäre, unsichere Speicherung
Code Integrität Verschlüsselte code , verdächtige Netzwerkaufrufe, Backdoors

Wenn Probleme festgestellt werden, wird das PR für eine manuelle Überprüfung markiert und wird NICHT automatisch zusammengeführt.

Möchten Sie Ihr PR zusammengeführt bekommen?

Hat Ihr PR im offiziellen Capacitor-Repo stecken geblieben? Hier ist, wie Sie es in Capacitor+ bekommen:

  1. Einen Issue öffnen im Capacitor+-Repo mit Verweis auf Ihr upstream-PR
  2. Oder das PR direkt an die plus Zweig
  3. Das Team wird es überprüfen, CI ausführen und es zusammenführen, wenn es besteht

So können Sie und andere sofort von Ihrem Werk profitieren, ohne auf das upstream-Release-Zyklus warten zu müssen.

Vorteile

  • Stolpern Sie jetzt auf Pull Requests: Die von der Community gefixten und implementierten Funktionen, die noch nicht im Hauptstrom sind, werden integriert
  • Aktuell bleiben: Nehmen Sie sofort die upstream-Fixes auf, sobald sie die CI-Tests bestanden haben
  • Sicherheit zuerst: Jeder Änderung wird auf mögliche Sicherheitslücken und Stabilitätsrisiken hin überprüft
  • Gewährleistete Releases: Nur Änderungen, die sowohl die CI-Tests als auch die AI-Sicherheitsüberprüfung bestanden haben, werden veröffentlicht
  • Einsetzbares Ersatzstück: Das gleiche API wie Capacitor, nur mit einer anderen Paketbereichsangabe
  • Ihre Stimme zählt: Ihre eigenen PRs oder spezifische upstream-PRs einreichen lassen, um sie zu mergen

Beispiel: Mit Capacitor+ Plugins verwenden

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 profitieren von Bug-Fixes und Funktionen ohne auf das offizielle Release-Zyklus warten zu müssen.