Panduan
Tutorial di Capacitor+ Core
Menggunakan Capacitor+ (@capacitor-plus) Paket
Capacitor+ adalah sebuah fork otomatis, selalu sinkron, dari Capacitor ditangani oleh Capgo. Ini menyediakan pengganti yang dapat digunakan secara langsung untuk paket resmi Capacitor dengan satu kelebihan utama: PR dan perbaikan komunitas dapat diintegrasikan lebih cepat.
Why Capacitor+ Exists
The Ionic team maintains Capacitor with their own priorities and release schedule. This means community contributions - bug fixes, improvements, and features - can wait months or even years to be merged. Some never make it at all.
Capacitor+ solves this problem by:
- Mengintegrasikan PR dari Fork - PR yang berharga yang terjebak di antrian upstream secara aktif diintegrasikan
- Sinkronisasi Terus-Menerus - Every change from upstream Capacitor is automatically pulled, tested, and verified
- Rilis Cepat - When changes pass CI, they're automatically published to npm under the
@capacitor-plusscope - Komunitas-Pertama - Kontribusi Anda berharga dan mendapatkan prioritas
- Diperiksa Keamanan - Setiap perubahan dianalisis oleh AI untuk kelemahan keamanan, perubahan yang memecah, dan risiko stabilitas
Paket yang Tersedia
| Paket | Deskripsi |
|---|---|
@capacitor-plus/core |
Librerai runtime inti |
@capacitor-plus/cli |
Antarmuka Perintah Baris |
@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
Migrasikan Projek Anda:
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';
Bagaimana Cara Kerjanya
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Sinkronisasi Harian: Aksi GitHub mengambil perubahan terbaru dari
ionic-team/capacitor - Pembuatan PR: Perubahan diusulkan sebagai permintaan pull ke
plusCabang - Pengujian CI: Seluruh suite pengujian berjalan (lint, unit tests, build iOS, build Android)
- Pengujian Code Claude: Analisis keamanan yang dipimpin AI untuk memeriksa:
- Kekeliruan keamanan (injeksi, XSS, dll.)
- Pengubahan API yang memecahkan
- Risiko kegagalan dan masalah stabilitas
- Kekeliruan integritas data dan privasi
- Polanya code yang berbahaya
- Auto-Merge: Hanya jika CI melewati dan Claude menyetujui (tidak ada masalah yang terdeteksi)
- Auto-Publish: Versi baru dipublikasikan ke npm di
@capacitor-plus/*
Pengujian Keamanan
Setiap sinkronisasi upstream dianalisis untuk:
| Periksa | Deskripsi |
|---|---|
| Keamanan | Penyusupan perintah, XSS, penyusuran jalur, rahasia yang ditetapkan secara keras, dan lain-lain. |
| Pembaharuan Perubahan | API yang dihapus/bernama, tanda tangan yang berubah, perubahan format konfigurasi |
| Stabilitas | Referensi null, kecuali tidak terjawab, kondisi balapan, kebocoran memori |
| Keamanan Data | Skenario kehilangan data, pelanggaran privasi, penyimpanan yang tidak aman |
| Integritas Code | Tersembunyi code, panggilan jaringan yang mencurigakan, pintu belakang |
Jika ada masalah yang terdeteksi, PR akan ditandai untuk tinjauan manual dan TIDAK akan di-merge secara otomatis.
Mau PR Anda Diterima?
Mengalami PR yang terjebak di repositori resmi Capacitor? Berikut cara untuk memasukkannya ke Capacitor+:
- Buka isu di Capacitor+ repo menghubungkan ke PR upstream Anda
- Atau submit PR secara langsung ke
pluscabang - Tim akan meninjau, menjalankan CI, dan merge jika berhasil
Dengan cara ini, Anda dan orang lain dapat menikmati hasil kerja Anda segera, tanpa harus menunggu siklus rilis upstream.
Manfaat-Manfaat
- Dapatkan PR yang Terjebak SekarangMengintegrasikan
- Tetap TerupdateMendapatkan
- Prioritas KeamananSetiap perubahan
- Rilis yang DiverifikasiHanya perubahan yang lolos uji CI dan tinjauan keamanan AI yang dipublikasikan
- Pengganti yang Mudah Digunakan: Same API as Capacitor, just a different package scope
- Suara Anda Berpengaruh: Kirimkan PR Anda sendiri atau minta PR upstream tertentu untuk diintegrasikan
Contoh: Menggunakan Capacitor+ dengan Plugin
Tidak ada plugin resmi Capacitor yang tidak berfungsi 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();
Selain itu, plugin Capgo juga berfungsi 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' });
Itu saja! Anda sekarang memiliki versi yang lebih cepat diperbarui 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 Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin 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.