Panduan
Cara Menggunakan Capacitor+ Core di Capacitor
Gunakan Capacitor+ (@capacitor-plus) Paket
Capacitor+ adalah salinan otomatis, selalu sinkron, dari Capacitor ditangani oleh Capgo. Ini menyediakan pengganti drop-in untuk paket resmi Capacitor dengan satu kelebihan utama: PR dan perbaikan komunitas dapat diintegrasikan lebih cepat.
Mengapa Capacitor+ Ada
Tim Ionic menjaga Capacitor dengan prioritas dan jadwal rilis mereka sendiri. Ini berarti kontribusi komunitas - perbaikan bug, peningkatan, dan fitur - dapat menunggu bulan-bulan atau bahkan tahun-tahun untuk diintegrasikan. Beberapa tidak pernah sampai juga.
Capacitor+ menyelesaikan masalah ini dengan:
- Mengintegrasikan PR dari Forks - PR berharga yang terjebak di antrian upstream secara aktif diintegrasikan
- Sinkronisasi Terus-Menerus - Setiap perubahan dari upstream Capacitor secara otomatis di pull, diuji, dan diverifikasi
- Rilis Cepat - Ketika perubahan melewati CI, mereka secara otomatis dipublikasikan ke npm di bawah
@capacitor-plusscope - Pertama Masyarakat - Kontribusi Anda berpengaruh dan diprioritaskan
- Diulas Keamanan - Setiap perubahan dianalisis oleh AI untuk keamanan, perubahan yang memecah, dan risiko stabilitas
Paket Tersedia
| Paket | Deskripsi |
|---|---|
@capacitor-plus/core |
Perpustakaan runtime inti |
@capacitor-plus/cli |
Antarmuka baris perintah |
@capacitor-plus/android |
Runtime Android |
@capacitor-plus/ios |
Runtime iOS |
Pemasangan
Proyek Baru
Untuk proyek baru, cukup gunakan paket Capacitor+ alih-alih yang resmi:
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Lalu inisialisasi proyek Anda:
npx cap init
npx cap add android
npx cap add ios
Migrasi dari Official Capacitor
Untuk memigrasikan proyek yang sudah ada dari official Capacitor ke 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
Karena Capacitor+ adalah pengganti yang dapat digunakan langsung dengan API, tidak ada perubahan code yang diperlukan. Import Anda tetap sama:
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
Bagaimana Cara Kerjanya
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Daily Sync: A GitHub Aksi mengambil perubahan terbaru dari
ionic-team/capacitor - Penambahan PR: Perubahan disarankan sebagai permintaan pull ke
pluscabang - Validasi CI: Seluruh suite tes berjalan (lint, unit tests, build iOS, build Android)
- Pengujian Claude Code: Analisis keamanan yang dipimpin AI memeriksa:
- Kekeliruan keamanan (injeksi, XSS, dll.)
- Perubahan API yang mengganggu
- Risiko crash dan masalah stabilitas
- Keselamatan dan privasi data
- Polanya berbahaya code
- Auto-Merge: Hanya jika CI berhasil dan Claude menyetujui (tidak ada masalah yang terdeteksi)
- Auto-Publish: Versi baru dipublikasikan ke npm di
@capacitor-plus/*
Ulasan Keamanan
Setiap sinkronisasi upstream dianalisis untuk:
| Pemeriksaan | Deskripsi |
|---|---|
| Keamanan | Penyusupan perintah, XSS, penyusupan jalur, rahasia yang ditetapkan secara keras, dll. |
| Perubahan Mendasar | Perubahan API yang dihapus/direvisi, perubahan tanda tangan, perubahan format konfigurasi |
| Stabilitas | Null dereferensi, kecuali penanganan exception, kondisi balap, dan kebocoran memori |
| Keamanan Data | Skenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman |
| Code Integrity | Tersembunyi code, panggilan jaringan mencurigakan, pintu belakang |
Jika ada masalah yang terdeteksi, PR akan ditandai untuk tinjauan manual dan TIDAK akan di-merge secara otomatis.
Mau PR Kamu Diterima?
Punya PR yang terjebak di repositori resmi Capacitor? Berikut cara mengintipnya ke Capacitor+:
- Buka masalah di dalam Capacitor+ repo terhubung ke PR upstream Anda
- atau submit PR secara langsung ke
pluscabang - Tim akan memeriksa, menjalankan CI, dan menggabungkannya jika lolos
Ini cara Anda dan orang lain dapat menikmati pekerjaan Anda segera, tanpa harus menunggu siklus rilis upstream.
Manfaat
- Terima PR yang Terjebak Sekarang: Perbaikan dan fitur komunitas yang menunggu di upstream diintegrasikan
- Jadilah Terus MencariTerima perbaikan upstream segera setelah mereka melewati CI
- Prioritas KeamananSetiap perubahan diperiksa untuk keamanan dan risiko stabilitas
- Rilis TerverifikasiHanya perubahan yang melewati uji CI dan tinjauan keamanan AI yang dipublikasikan
- Gantian Langsung:Sama API dengan Capacitor, tetapi dengan lingkungan paket yang berbeda
- Suara Anda BerhargaKirimkan PR Anda sendiri atau minta PR upstream spesifik untuk diintegrasikan
Contoh: Menggunakan Capacitor+ dengan Plugin
Tentu saja semua plugin resmi Capacitor bekerja dengan lancar dengan 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();
Tentu saja plugin Capgo juga bekerja dengan sempurna dengan 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' });
Selamat! Anda telah memiliki versi yang diperbarui lebih cepat dari Capacitor dengan perbaikan komunitas yang diintegrasikan lebih cepat. Aplikasi Anda akan mendapatkan manfaat dari perbaikan bug dan fitur tanpa harus menunggu siklus rilis resmi.
Teruskan dari Menggunakan Capacitor+ (@capacitor-plus) Paket
Jika Anda menggunakan Menggunakan Capacitor+ (@capacitor-plus) Paket Untuk merencanakan pekerjaan plugin native, hubungkan dengan Capacitor+ Untuk detail implementasi di Capacitor+, Daftar Plugin Capgo Untuk alur kerja produk di Daftar Plugin Capgo, Plugin Capacitor oleh Capgo Untuk detail implementasi di Plugin Capacitor oleh Capgo, Menambahkan atau Mengupdate Plugin untuk detail implementasi di Menambahkan atau Mengupdate Plugin, dan Alternatif Plugin Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Enterprise Ionic.