Anleitung
Tutorial zu Capacitor+ Core
Verwendung von Capacitor+ (@capacitor-plus) Paketen
Capacitor+ ist ein automatisiertes, immer synchronisiertes Fork von Capacitor von CapgoEs bietet eine einfache Ersatzlösung für die offiziellen Capacitor-Pakete mit einem wichtigen Vorteil: Community-PRs und -Fehler werden schneller integriert.
Why Capacitor+ Exists
Die Ionic-Team pflegt Capacitor mit ihren eigenen Prioritäten und Release-Schema. Dies bedeutet, dass Community-Beiträge - Bugfixes, Verbesserungen und Funktionen - Monate oder sogar Jahre auf sich warten lassen, um eingearbeitet zu werden. Einige werden nie überhaupt eingearbeitet.
Capacitor+ löst dieses Problem, indem es:
- Merging von PRs aus Forks - Wertevolle PRs, die im upstream-Queue stecken, werden aktiv eingearbeitet
- Continuous Sync - Jeder Änderung aus dem upstream-Capacitor wird automatisch gezogen, getestet und überprüft
- Rapid Releases - When changes pass CI, they're automatically published to npm under the
@capacitor-plusScope - Scope Community-First-Prinzipien geführt
- Sicherheitsüberprüfung Jeder Änderungsvorschlag wird von einer KI für Sicherheitslücken, Ä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
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
Initialisiere dann dein Projekt:
npx cap init
npx cap add android
npx cap add ios
Migrating from Official Capacitor
To migrate an existing project from official Capacitor to 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
Since Capacitor+ is a drop-in replacement with the same API, no code changes are required. Your imports remain the same:
// 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 SynchronisierungEin GitHub-Action holt die neuesten Änderungen von
ionic-team/capacitor - Erstellung von Pull RequestsÄnderungen werden als Pull Requests zur
plusZweig - Validierung durch CIDie vollständige Testsuite wird ausgeführt (Linter, Einheitstests, iOS-Build, Android-Build)
- Claude Code Review: KI-gestützte umfassende Sicherheitsanalyse überprüft:
- Sicherheitslücken (Einschübe, XSS usw.)
- Breaking API changes
- Risiken für Abstürze und Stabilitätsprobleme
- Datensicherheit und Datenschutzbedenken
- Malicious code patterns
- Auto-Merge: Nur wenn CI erfolgreich ist UND Claude genehmigt (keine Probleme gefunden)
- Auto-Publish: A new version is published to npm under
@capacitor-plus/*
Sicherheitsüberprüfung
Jeder Upstream-Synchronisierung wird analysiert für:
| Überprüfen | Beschreibung |
|---|---|
| Sicherheit | Kommando-Inject, XSS, Pfad-Traversal, festgelegte Geheimnisse usw. |
| Änderungen | Entfernte/umbenannte APIs, geänderte Signatur, Änderungen der Konfigurationsformat |
| Stabilität | Null-Referenzen, unbehandelte Exceptions, Rassenbedingungen, Speicherverluste |
| Daten-Sicherheit | Datenverlustszenarien, Verletzungen der Privatsphäre, unsichere Speicherung |
| Code Integrität | Verschlüsselter 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, dass dein Pull-Request zusammengeführt wird?
Hast du einen Pull-Request, der im offiziellen Capacitor-Repository steckt? Hier ist, wie du ihn in Capacitor+ einbringen kannst:
- Öffne ein Issue im Capacitor+-Repository mit Verweis auf deinen upstream-Pull-Request
- Oder stelle den Pull-Request direkt in den
plusZweig - Das Team wird ihn überprüfen, die CI ausführen und ihn zusammenführen, wenn er besteht
So können Sie und andere direkt von Ihrem Werk profitieren, ohne auf das Release-Zyklus der Oberfläche warten zu müssen.
Vorteile
- Aktuelle Pull-AnfragenCommunity-Fixes und -Features, die im Oberflächen-Branch warten, werden integriert
- Aktuell bleibenAktuelle Fixes von der Oberfläche erhalten, sobald sie die CI-Tests bestanden haben
- Sicherheit zuerstJeder Änderung wird auf mögliche Sicherheitslücken und Stabilitätsrisiken hin überprüft
- Gewährleistete ReleasesNur Änderungen, die sowohl die CI-Tests als auch die Sicherheitsprüfung durch KI erfolgreich bestanden haben, werden veröffentlicht
- Einfach einsetzbares Ersatzstück: Same API as Capacitor, just a different package scope
- Ihre Stimme zählt: Senden Sie Ihre eigenen Pull Requests oder fordern Sie spezifische Pull Requests von oben an, um sie zu mergen
Beispiel: Verwenden Sie 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 Bug-Fixes und Funktionen profitieren, ohne auf das offizielle Release-Zyklus warten zu müssen.
Weitermachen von Using Capacitor+ (@capacitor-plus) Packages
Wenn Sie Using Capacitor+ (@capacitor-plus) Packages zur Planung von native Plugins verwenden, verbinden Sie es mit Capacitor+ für die Implementierungsdetails in Capacitor+, Capgo Plugin-Verzeichnis zur Produktionsablauf in Capgo Plugin-Verzeichnis Capacitor Plugins von Capgo zur Implementierungsdetails in Capacitor Plugins von Capgo Plugins hinzufügen oder aktualisieren zur Implementierungsdetails in Plugins hinzufügen oder aktualisieren, und Ionische Unternehmens-Plugin-Alternativen zur Produktionsablauf in Ionische Unternehmens-Plugin-Alternativen.