Richtlinie
Tutorial zu Capacitor+ Core
Verwendung von Capacitor+ (@capacitor-plus) Paketen
Capacitor+ ist ein automatisiertes, immer synchronisiertes Fork von Capacitor von Capgo. Es 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 Veröffentlichungszeiten. Dies bedeutet, dass Community-Beiträge - Fehlerkorrekturen, Verbesserungen und Funktionen - Monate oder sogar Jahre auf eine Merge-Eingabe warten können. Einige werden nie überhaupt integriert.
Capacitor+ löst dieses Problem auf folgende Weise:
- Pull Requests von Forks integrieren - Werteiche Pull Requests, die im Hauptstromstapel stecken, werden aktiv integriert
- Kontinuierliche Synchronisation - Jeder Änderungsvorschlag aus dem Hauptstrom Capacitor wird automatisch gezogen, getestet und überprüft
- Schnelle Veröffentlichungen - When changes pass CI, they're automatically published to npm under the
@capacitor-plusSpielraum - Scope Community-orientiertes Vorgehen ist wichtig, da Ihre Beiträge Priorität haben und berücksichtigt werden
- Sicherheitsüberprüfung Jeder Änderung wird durch KI für Sicherheitslücken, Änderungen, die den Betrieb beeinträchtigen, 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
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 Official Capacitor auf 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 Ersatzgerät mit demselben API ist, sind keine code Änderungen erforderlich. Ihre Imports bleiben unverändert:
// 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 PR: Änderungen werden als Pull Requests an den
plusZweig - CI-Validierung: Vollständige Test-Suite läuft (Lint, 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-Synchronisierungsprozess wird auf folgende Aspekte analysiert:
| Überprüfen | Beschreibung |
|---|---|
| Sicherheit | Befehlsinjektion, XSS, Pfadüberprüfung, festgelegte Geheimnisse usw. |
| Änderungen der Funktionalität | Entfernte oder umbenannte APIs, geänderte Signatur, Änderungen der Konfigurationsformatierung |
| Stabilität | Null-Verweise, unbehandelte Exceptions, Rassenbedingungen, Speicherverluste |
| 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 PR für eine manuelle Überprüfung markiert und wird NICHT automatisch zusammengeführt.
Wollen Sie Ihren PR Mergen?
Haben Sie einen PR, der im offiziellen Capacitor-Repo steckt? Hier ist, wie Sie ihn in Capacitor+ einbringen können:
- Öffnen Sie ein Issue im Capacitor+-Repo mit Verweis auf Ihren upstream-PR
- Oder senden Sie den PR direkt an
plusden - Zweig
So können Sie und andere sofort von Ihrem Werk profitieren, ohne auf das Release-Zyklus der Oberfläche zu warten.
Vorteile
- Aktuelle Pull RequestsCommunity-Fixes und -Features, die im Oberflächen-Repository 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 Ersatzteil: Same API as Capacitor, just a different package scope
- Ihre Stimme zählt: Unterbreiten 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 profitieren von Bug-Fixes und Funktionen ohne auf das offizielle Release-Zyklus warten zu müssen.
Fortsetzen Sie mit Verwenden Sie Capacitor+ (@capacitor-plus) Packages
Wenn Sie verwenden Verwenden Sie Capacitor+ (@capacitor-plus) Packages um native Plugin-Arbeit zu planen, verbinden Sie es mit Capacitor+ zur Implementierungsdetail in Capacitor+, Capgo Plugin-Verzeichnis zur Produktionsablauf in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo zur Implementierungsdetail in Capacitor Plugins von Capgo, Hinzufügen oder Aktualisieren von Plugins zur Implementierungsdetail in Hinzufügen oder Aktualisieren von Plugins, und Ionische Unternehmensplugin-Alternativen zur Produktionsablauf in Ionische Unternehmensplugin-Alternativen.