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

Capacitor+ Core

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

Petunjuk

Tutorial Capacitor+ Core

Menggunakan Capacitor+ (@capacitor-plus) Paket

Capacitor+ adalah sebuah fork otomatis, selalu sinkron dengan Capacitor Dipelihara oleh Capgo. Ini menyediakan pengganti yang dapat digunakan langsung untuk paket resmi Capacitor dengan satu kelebihan utama: PR dan perbaikan komunitas diintegrasikan lebih cepat.

Mengapa Capacitor+ Ada

Tim Ionic memelihara 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 masuk sama sekali.

Capacitor+ menyelesaikan masalah ini dengan:

  1. Mengintegrasikan PR dari Fork - PR berharga yang terjebak di antrian upstream secara aktif diintegrasikan
  2. Sinkronisasi Terus-Menerus - Setiap perubahan dari upstream Capacitor diambil secara otomatis, diuji, dan diverifikasi
  3. Rilis Cepat - Ketika perubahan melewati CI, mereka secara otomatis dipublikasikan ke npm di bawah @capacitor-plus scope
  4. Pertama-Tama Masyarakat - Kontribusi Anda berarti dan mendapatkan prioritas
  5. Diperiksa Keamanan - Setiap perubahan dianalisis oleh AI untuk kelemahan keamanan, perubahan yang memecah, dan risiko stabilitas

Paket-Paket 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

Lalu inisialisasikan proyek Anda:

npx cap init
npx cap add android
npx cap add ios

Migrasi dari Official Capacitor

Untuk migrasi 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. 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-perubahan disampaikan sebagai permintaan pull ke plus cabang
  3. Validasi CI: Seluruh tes penuh dijalankan (lint, unit tests, build iOS, build Android)
  4. Ulasan Claude Code: Analisis keamanan yang dipimpin AI memeriksa:
    • Kekeliruan keamanan (injeksi, XSS, dll.)
    • Perubahan-perubahan yang memecahkan API
    • Risiko kegagalan sistem dan masalah stabilitas
    • Kesulitan integritas data dan privasi
    • Polanya code yang berbahaya
  5. Autor-MergeHanya jika CI berhasil dan Claude menyetujui (tidak ada masalah yang terdeteksi)
  6. Publikasi OtomatisHalaman baru diterbitkan ke npm di @capacitor-plus/*

Pengujian Keamanan

Setiap sinkronisasi upstream dianalisis untuk:

Pemeriksaan Deskripsi
Keamanan Injeksi perintah, XSS, traversal jalur, rahasia yang dihardcode, dll.
Pengubahan yang Mengganggu API yang dihapus/bernama berbeda, tanda tangan yang berubah, perubahan format konfigurasi
Stabilitas Referensi null, kecuali penanganan, kondisi balap, kebocoran memori
Keamanan Data Skenario kehilangan data, pelanggaran privasi, penyimpanan tidak aman
Code Integritas Data code yang diobfuscasi, 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 Anda Diterima?

Memiliki PR yang terjebak di repositori resmi Capacitor? Berikut cara untuk memasukkannya ke Capacitor+:

  1. Buka isu di Capacitor+ repo tautan ke PR upstream Anda
  2. Atas submit PR secara langsung ke plus cabang
  3. Tim akan memeriksa, menjalankan CI, dan menggabungkannya jika berhasil

Dengan cara ini, Anda dan orang lain dapat menikmati hasil kerja Anda segera, tanpa harus menunggu siklus rilis upstream.

Manfaat

  • Ambil PR yang Terjebak Sekarang: Perbaikan dan fitur komunitas yang menunggu upstream diintegrasikan
  • Tetap Terupdate: Dapatkan perbaikan upstream segera setelah berhasil CI
  • Keamanan Terlebih Dahulu: Setiap perubahan dipemeriksa untuk keamanan dan risiko stabilitas
  • Rilis TerverifikasiHanya perubahan yang lolos uji coba CI dan tinjauan keamanan AI yang dipublikasikan
  • Pengganti yang Mudah Digunakan: Sama seperti API sebagai Capacitor, hanya dengan lingkungan paket yang berbeda
  • Suara Anda Banyak Berarti.: Kirimkan PR Anda sendiri atau minta PR upstream tertentu untuk diintegrasikan

Contoh: Menggunakan Capacitor+ dengan Plugin

Semua plugin Capacitor resmi 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();

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' });

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, hubungkannya dengan Capacitor+ untuk detail implementasi di Capacitor+ Capgo Direktori Plugin untuk alur kerja produk di Capgo Direktori Plugin 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