Langsung ke konten

Memulai

  1. Instal paket inti

    Terminal window
    npm install @capacitor-plus/core @capacitor-plus/cli
  2. Tambahkan paket platform

    Terminal window
    npm install @capacitor-plus/android # for Android
    npm install @capacitor-plus/ios # for iOS
  3. Inisialisasi Capacitor

    Terminal window
    npx cap init
  4. Tambahkan platform

    Terminal window
    npx cap add android
    Terminal window
    npx cap add ios

Jika Anda memiliki proyek Capacitor yang sudah ada, migrasi ke Capacitor+ sangat mudah:

  1. Hapus paket resmi

    Terminal window
    npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
  2. Instal paket Capacitor+

    Terminal window
    npm install @capacitor-plus/core @capacitor-plus/cli
    npm install @capacitor-plus/android # if using Android
    npm install @capacitor-plus/ios # if using iOS
  3. Sinkronkan proyek Anda

    Terminal window
    npx cap sync

Karena Capacitor+ kompatibel dengan API, kode Anda yang ada akan berfungsi tanpa perubahan:

import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
// Check platform
const platform = Capacitor.getPlatform();
console.log('Running on:', platform);
// Check if native
if (Capacitor.isNativePlatform()) {
console.log('Running on native platform');
}
// Register a custom plugin
const MyPlugin = registerPlugin('MyPlugin');

Semua plugin Capacitor resmi bekerja dengan lancar:

import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
import { Storage } from '@capacitor/preferences';
// Camera
const photo = await Camera.getPhoto({
quality: 90,
resultType: CameraResultType.Uri
});
// Geolocation
const position = await Geolocation.getCurrentPosition();
// Storage
await Storage.set({ key: 'name', value: 'John' });

Plugin Capgo bekerja sempurna dengan Capacitor+:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
import { CapacitorFlash } from '@capgo/capacitor-flash';
// Live updates
await CapacitorUpdater.notifyAppReady();
// Screen orientation
await ScreenOrientation.lock({ orientation: 'portrait' });
// Flashlight
await CapacitorFlash.toggle();
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ionic-team/ β”‚ β”‚ CI/CD β”‚ β”‚ Claude Code β”‚ β”‚ npm publish β”‚
β”‚ capacitor │────▢│ Pipeline │────▢│ Security Review │────▢│ @capacitor-plusβ”‚
β”‚ (upstream) β”‚ β”‚ (daily sync) β”‚ β”‚ (AI analysis) β”‚ β”‚ packages β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Sinkronisasi Harian: GitHub Actions mengambil perubahan terbaru dari ionic-team/capacitor
  2. Pembuatan PR: Perubahan diusulkan sebagai pull request ke cabang plus
  3. Validasi CI: Test suite lengkap berjalan (lint, unit tests, iOS build, Android build)
  4. Tinjauan Keamanan: Analisis bertenaga AI memeriksa kerentanan dan perubahan yang merusak
  5. Auto-Merge: Hanya jika CI lulus DAN tinjauan keamanan menyetujui
  6. Auto-Publish: Versi baru dipublikasikan ke npm di bawah @capacitor-plus/*

Setiap sinkronisasi upstream dianalisis untuk:

PemeriksaanYang Ditangkap
KeamananCommand injection, XSS, path traversal, hardcoded secrets
Perubahan yang MerusakAPI yang dihapus/diubah namanya, signature yang diubah, perubahan konfigurasi
StabilitasNull dereferences, exception yang tidak ditangani, race conditions, memory leaks
Keamanan DataSkenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman
Integritas KodeKode yang disamarkan, panggilan jaringan mencurigakan, backdoors

Memiliki PR yang terjebak di repo Capacitor resmi? Dapatkan merge di Capacitor+:

  1. Buka issue di repo Capacitor+ yang menautkan ke PR upstream Anda

  2. Atau kirimkan langsung sebagai PR ke cabang plus

  3. Tim akan meninjau, menjalankan CI, dan menggabungkan jika lulus

Dengan cara ini Anda dan orang lain dapat mengambil manfaat dari pekerjaan Anda segera tanpa menunggu siklus rilis upstream.

Ya. Capacitor+ digunakan di aplikasi produksi. Setiap rilis melewati test suite yang sama dengan Capacitor resmi, ditambah analisis keamanan tambahan.

Ya. Semua plugin @capacitor/* bekerja dengan Capacitor+ langsung dari kotak.

Bagaimana jika upstream merilis perubahan yang merusak?

Section titled β€œBagaimana jika upstream merilis perubahan yang merusak?”

Tinjauan keamanan AI menandai perubahan yang merusak untuk ditinjau secara manual. Anda akan melihat perubahan yang didokumentasikan sebelum digabungkan.

Ajukan issue di repo GitHub Capacitor+. Untuk masalah yang juga mempengaruhi Capacitor resmi, kami akan membantu koordinasi upstream.

Tentu saja! PR sangat diterima. Anda dapat mengirimkan perbaikan secara langsung atau meminta agar PR upstream tertentu digabungkan.