Lebih lanjut ke konten utama
Kembali ke plugin
@capacitor-plus/core
Tutorial
@capacitor-plus/core

Capacitor+ Core

Capacitor+ adalah fork otomatis, selalu sinkron, dari Capacitor dengan PR komunitas yang diintegrasikan dan rilis cepat

Panduan

Tutorial di Capacitor+ Core

Menggunakan Capacitor+ (@capacitor-plus) Paket

Capacitor+ adalah salinan otomatis, selalu sinkron, dari Capacitor Dipelihara 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:

  1. Menggabungkan PR dari Forks - PR yang berharga yang terjebak di antrian upstream secara aktif dimasukkan
  2. Sinkronisasi Terus-Menerus - Every change from upstream Capacitor is automatically pulled, tested, and verified
  3. Rilis Cepat - When changes pass CI, they're automatically published to npm under the @capacitor-plus scope
  4. Komunitas-Pertama - Kontribusi Anda berarti dan diprioritaskan
  5. Diulas Keamanan - Setiap perubahan dianalisis oleh AI untuk keamanan, perubahan yang mengganggu, dan risiko stabilitas

Paket yang Tersedia

Paket Deskripsi
@capacitor-plus/core Libray Runtime Utama
@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+ 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 dari Official __CAPGO_KEEP_0__

npx cap init
npx cap add android
npx cap add ios

Migrasi dari Official Capacitor ke __CAPGO_KEEP_1__+

Migrasi 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. Impor 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       │
└─────────────────────┘     └──────────────────┘     └──────────────────┘     └─────────────────┘
  1. Sinkronisasi Harian: Aksi GitHub mengambil perubahan terbaru dari ionic-team/capacitor
  2. Pembuatan PR: Perubahan diusulkan sebagai permintaan pull ke plus cabang
  3. Validasi CI: Seluruh suite tes berjalan (lint, unit tests, build iOS, build Android)
  4. Ulasan Claude Code: Analisis keamanan yang dipimpin AI untuk memeriksa:
    • Kekeliruan keamanan (injeksi, XSS, dll.)
    • Pengubahan API yang memecah
    • Risiko kegagalan dan masalah stabilitas
    • Kekeliruan integritas data dan privasi
    • Polanya code yang berbahaya
  5. Auto-Merge: Hanya jika CI melewati dan Claude menyetujui (tidak ada masalah yang terdeteksi)
  6. Auto-Publish: Versi baru dipublikasikan ke npm di bawah @capacitor-plus/*

Ulasan Keamanan

Setiap sinkronisasi upstream dianalisis untuk:

Periksa Deskripsi
Keamanan Injeksi perintah, XSS, traversal jalur, rahasia yang ditetapkan secara keras, dll.
Perubahan Perilaku API yang dihapus/bernama, tanda tangan yang berubah, perubahan format konfigurasi
Stabilitas Referensi null, kecuali tidak terhandle, kondisi balap, kebocoran memori
Keamanan Data Skenario kehilangan data, pelanggaran privasi, penyimpanan yang tidak aman
Code Integritas Menggunakan code, panggilan jaringan mencurigakan, pintu belakang

Jika ada masalah yang terdeteksi, PR 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 mendapatkannya ke Capacitor+:

  1. Buka isu di Capacitor+ repo menghubungkan ke PR upstream Anda
  2. Atau submit PR secara langsung ke plus cabang
  3. 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 SekarangKomunitas memperbaiki dan menambahkan fitur yang menunggu di upstream kemudian diintegrasikan
  • Tetap TerkiniDapatkan perbaikan upstream segera setelah melewati CI
  • Prioritas KeamananSetiap perubahan dipantau untuk keamanan dan risiko stabilitas
  • Rilis yang Dapat DijaminHanya perubahan yang melewati 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

Tentu saja semua plugin resmi Capacitor berjalan 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();

Plugin Capgo juga berjalan 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 telah 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 kerja 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.