Petunjuk
Tutorial pada Capacitor+ Core
Menggunakan Capacitor+ (@capacitor-plus) Paket
Capacitor+ adalah sebuah fork otomatis, selalu sinkron dari Capacitor dipelihara oleh Capgo. Ini menyediakan pengganti yang dapat digunakan langsung untuk paket resmi Capacitor dengan satu kelebihan utama: PR dan perbaikan komunitas dapat diintegrasikan lebih cepat.
Kenapa 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:
- Menggabungkan PR dari Fork - PR yang berharga yang terjebak di antrian upstream secara aktif diintegrasikan
- Sinkronisasi Terus-Menerus - Setiap perubahan dari upstream Capacitor secara otomatis diambil, diuji, dan diverifikasi
- Rilis Cepat - Ketika perubahan lolos CI, mereka secara otomatis dipublikasikan ke npm di bawah
@capacitor-plusskop - Masyarakat-Pertama - Kontribusi Anda berharga dan diprioritaskan
- Terlindungi - Setiap perubahan dianalisis oleh AI untuk keamanan kerentanan, perubahan yang memecah, dan risiko stabilitas
Paket yang Tersedia
| Paket | Deskripsi |
|---|---|
@capacitor-plus/core |
Libray 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 Capacitor+ paket daripada yang resmi:
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Migrasi ke Projek Anda:
npx cap init
npx cap add android
npx cap add ios
Migrasi dari Capacitor Resmi
Untuk memigrasikan projek yang sudah ada dari Capacitor Resmi 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. Impor Anda tetap sama:
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
Cara Kerja
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ 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 pull request ke
pluscabang - Pengujian CI: Seluruh suite pengujian berjalan (lint, unit tests, build iOS, build Android)
- Ulasan Claude Code: Analisis keamanan yang dipimpin AI untuk memeriksa:
- Kekeliruan keamanan (injeksi, XSS, dll.)
- Pengubahan API yang dapat memecah
- Risiko kegagalan dan masalah stabilitas
- Kesulitan integritas data dan privasi
- Polanya code yang berbahaya
- Auto-Merge: Hanya jika CI melalui 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:
| Periksa | Deskripsi |
|---|---|
| Keamanan | Injeksi perintah, XSS, traversal jalur, rahasia yang ditetapkan secara keras, dll. |
| Pembaharuan Perubahan | API yang dihapus/bernama, tanda tangan yang berubah, perubahan format konfigurasi |
| Stabilitas | Dereferensi null, kecuali tidak terhandle, kondisi balapan, kebocoran memori |
| Keamanan Data | Skenario kehilangan data, pelanggaran privasi, penyimpanan yang tidak aman |
| Code Integritas | Tersembunyi code, panggilan jaringan yang mencurigakan, pintu belakang |
Jika ada masalah yang terdeteksi, PR diberi tanda untuk tinjauan manual dan TIDAK akan di-merge secara otomatis.
Mau PR Anda Diterima?
PR Anda 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.
Kelebihan
- Tangani PR yang Terjebak Sekarang: Perbaikan dan fitur komunitas yang menunggu rilis upstream diintegrasikan
- Tetap Terupdate: Dapatkan perbaikan upstream segera setelah melewati CI
- Prioritas Keamanan: Setiap perubahan diuji untuk keamanan dan risiko stabilitas
- Rilis Terverifikasi: Hanya 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 Berharga: Kirimkan PR Anda sendiri atau minta PR upstream spesifik 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();
Plugin Capgo juga berfungsi 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 Capacitor yang lebih cepat diperbarui 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 kerja plugin native, hubungkan dengan Capacitor+ untuk detail implementasi di Capacitor+, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin-Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin-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.