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:
- Merging von PRs aus Forks - Wichtige PRs, die sich im upstream-Queue befinden, werden aktiv integriert.
- Continuous Sync - Jeder Änderung aus dem upstream-Capacitor wird automatisch gezogen, getestet und überprüft.
- Rapid Releases - Wenn Änderungen CI bestehen, werden sie automatisch auf npm unter dem
@capacitor-plusScope - Community-First - Ihre Beiträge zählen und werden priorisiert.
- 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Tägliche Synchronisierung: Ein GitHub-Action holt die neuesten Änderungen von
ionic-team/capacitor - Erstellung von Pull Requests: Änderungen werden als Pull Requests zur
plusZweig - Validierung durch CI: Vollständige Test-Suite läuft (Linter, Einheitstests, iOS-Build, Android-Build)
- 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
- Auto-Merge: Nur wenn CI erfolgreich ist UND Claude zustimmt (keine Probleme gefunden)
- 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:
- Einen Issue öffnen im Capacitor+-Repo mit Verweis auf Ihr upstream-PR
- Oder das PR direkt an die
plusZweig - 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.