Richtlinie
Tutorial zu Capacitor+ Core
Mit Capacitor+ (@capacitor-plus) Paketen arbeiten
Capacitor+ ist ein automatisiertes, immer synchronisiertes Fork von Capacitor von __CAPGO_KEEP_0__ gepflegt CapgoEs bietet eine einfache Ersatzlösung für die offiziellen Capacitor-Pakete mit einem wichtigen Vorteil: Warum __CAPGO_KEEP_0__+ existiert.
Die Ionic-Team pflegt Capacitor mit ihren eigenen Prioritäten und Veröffentlichungszeiten. Dies bedeutet, dass Community-Beiträge - Fehlerbehebungen, 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 auf die folgende Weise:
Capacitor+ solves this problem by:
- - Wichtige PRs, die im Hauptstromstamm stecken, werden aktiv eingearbeitet Kontinuierliche Synchronisierung
- - Jeder Änderung aus __CAPGO_KEEP_0__ wird automatisch gezogen, getestet und überprüft - Every change from upstream Capacitor is automatically pulled, tested, and verified
- - Wenn Änderungen CI bestehen, werden sie automatisch auf __CAPGO_KEEP_0__ veröffentlicht npm
@capacitor-plusBereich - Community-orientiert - Ihre Beiträge zählen und werden priorisiert
- Sicherheitsüberprüft - Jeder Änderung wird durch KI auf 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
Migration von offiziellen Capacitor
Um ein bestehendes Projekt von offiziellen 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 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Tagliche Synchronisierung: Ein GitHub-Action holt die neuesten Änderungen von
ionic-team/capacitor - Erstellung von Pull Requests: Änderungen werden als Pull Requests an das
plusZweig - CI-Validierung: Vollständige Test-Suite läuft (Linter, Einheitstests, iOS-Build, Android-Build)
- Claude Code-Überprüfung: KI-gestützte umfassende Sicherheitsanalyse überprüft:
- Sicherheitslücken (Injection, XSS usw.)
- Zerbrechende API-Änderungen
- Risiken für Abstürze und Stabilitätsprobleme
- Datenschutz und Privatsphäre-Bedrohungen
- Schädliche code-Muster
- Auto-Merge: Nur wenn CI erfolgreich ist UND Claude genehmigt (keine Probleme gefunden)
- Auto-Publish: Eine neue Version wird unter npm veröffentlicht
@capacitor-plus/*
Sicherheitsüberprüfung
Jeder Upstream-Sync wird auf: analysiert
| Überprüfen | Beschreibung |
|---|---|
| Sicherheit | Befehlsinjektion, XSS, Pfadüberprüfung, festgelegte Geheimnisse usw. |
| Abbrüche | Entfernte/umbenannte APIs, geänderte Signatur, Änderungen der Konfigurationsformatierung |
| Stabilität | Null-Referenzen, unbehaltene Exceptions, Rassenbedingungen, Speicherverluste |
| Daten-Sicherheit | Datenverlustszenarien, Datenschutzverletzungen, ungesicherte Speicherung |
| Code Integrität | Verschlüsselte code-, verdächtige Netzwerkaufrufe, Backdoors |
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 automatisch zusammengeführt bekommen?
Hast du einen Pull-Request, der im offiziellen Capacitor-Repository steckt? Hier ist, wie du ihn in Capacitor+ einbringen kannst:
- Ein Issue öffnen im Capacitor+-Repository mit Verweis auf Deinen upstream Pull-Request
- Oder den Pull-Request direkt einreichen zu der
plusZweig - 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 das Release-Zyklus der Oberfläche zu warten
Vorteile
- Jetzt PRs blockieren: Gemeinschafts-Fixes und -Features, die im Oberflächen-Branch warten, werden gemerged
- Aktuell bleiben: Sie erhalten Oberflächen-Fixes, sobald sie CI passieren
- Sicherheit zuerst: Jeder Änderung wird auf Sicherheitsrisiken und Stabilitätsrisiken überprüft
- Gewährleistete Releases: Nur Änderungen, die sowohl die CI-Tests als auch die Sicherheitsüberprüfung durch AI erfolgreich bestehen, werden veröffentlicht
- Drop-in-Ersatzteil: Das gleiche API wie Capacitor, nur mit einem anderen Paketbereich
- Dein Stimmen zählt: Übermitteln Sie Ihre eigenen PRs oder fordern Sie spezifische upstream-PRs auf, 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 Bug-Fixes und Funktionen profitieren, ohne auf das offizielle Release-Zyklus warten zu müssen.
Fortsetzen Sie mit Verwendung von Capacitor+ (@capacitor-plus) Paketen
Wenn Sie __CAPGO_KEEP_0__+ (@__CAPGO_KEEP_1__-plus) Pakete verwenden Verwendung von Capacitor+ (@capacitor-plus) Paketen für die 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 Hinzufügen oder Aktualisieren von Plugins für die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins Ionic Enterprise Plugin Alternativen für den Produktworkflow in Ionic Enterprise Plugin Alternativen