Beralih ke konten utama

Panduan Kontribusi Plugin Capacitor

Pelajari cara efektif berkontribusi pada plugin Capacitor dengan panduan komprehensif tentang pengaturan, standar coding, pengujian, dan dokumentasi.

 Martin Donadieu

Martin Donadieu

Penyunting Konten

 Panduan Kontribusi Plugin Capacitor

Capacitor plugin menghubungkan teknologi web dengan fitur perangkat native, memungkinkan Pengembangan Aplikasi Berbasis Multi-Platform Panduan ini membantu Anda:

: Tuliskan unit test untuk JavaScript, iOS, dan Android untuk memastikan keandalan.

Pengaturan Lingkungan Pengembangan

Mengatur lingkungan pengembangan yang tepat adalah kunci untuk pengembangan plugin yang efisien. Pengaturan yang siap akan memungkinkan pengembangan kode, pengujian, dan pengembangan plugin yang lancar.

Alat dan Keterampilan yang Dibutuhkan

Sebelum memulai, pastikan Anda telah menginstal alat-alat berikut:

Kategori Persyaratan
Alat Utama Node.js (LTS), npm 6+, Git
IDE/Editor Visual Studio Code atau editor favorit Anda
Pengembangan iOS Xcode, SwiftLint, CocoaPods
Pengembangan Android Android Studio, Android SDK, JDK

Pastikan Anda nyaman dengan TypeScript untuk pengembangan web dan salah satu Swift (untuk iOS) atau Java/Kotlin (untuk Android) untuk tugas pengembangan native [1][2].

Pengaturan Monorepo

The Capacitor plugin Ekosistem bergantung pada struktur monorepo. Pendekatan ini memastikan pekerjaan Anda sesuai dengan standar komunitas sejak awal.

  1. Fork dan Clone Repositori
    Mulai dengan menggandakan repositori Capacitor plugins di GitHub. Kemudian, clone repositori yang telah digandakan:

    git clone https://github.com/your-username/capacitor-plugins.git
    cd capacitor-plugins
    npm install
  2. Instalasi Dependensi dan Build
    Jalankan perintah berikut untuk menginstal semua yang Anda butuhkan dan membangun plugin:

    npm run build
  3. Set Up Pengendalian Versi
    Gunakan cabang fitur untuk perubahan Anda dan pastikan fork Anda sinkron dengan repositori upstream.

Mengatur Platform Native

Untuk pengembangan lintas platform, Anda perlu mengonfigurasi baik lingkungan iOS dan Android.

Untuk iOS:

  • Unduh Xcode dari App Store Mac.

  • Instal alat perintah menggunakan:

    xcode-select --install
  • Instal CocoaPods dengan:

    sudo gem install cocoapods
  • Atur akun pengembang Apple dan sertifikat yang diperlukan.

  • Pakai SwiftLint (opsional) untuk menjaga code kualitas.

Untuk Android:

  • Instal Android Studio bersama dengan SDK terbaru dan perangkat virtual.
  • Pastikan Anda telah menginstal JDK.
  • Konfigurasi SDK Android yang tepat di dalam Android Studio.

Setelah platform ini terinstal, Anda akan siap untuk mengikuti praktik coding yang sudah ada dan memulai pengembangan plugin.

Code Standards Guide

Sekarang bahwa lingkungan pengembangan Anda sudah terinstal, ikuti pedoman ini untuk membangun plugin yang mudah dipelihara dan digunakan.

Pedoman gaya yang konsisten

__CAPGO_KEEP_0__ plugin ekosistem menggunakan Capacitor yang ketat dengan menggunakan alat seperti ESLint ESLint, Prettier, dan SwiftLint. Berikut adalah gambaran singkat tentang format yang diperlukan:

Komponen Format
Variabel deviceInfo (huruf kecil-kecil besar)
Kelas BatteryManager (huruf besar-kecil besar)
Metode getLanguageCode() (huruf kecil-kecil besar)
Konstanta MAX_RETRY_COUNT (huruf kecil-kecil besar dengan garis bawah)

Plugin harus menggunakan TypeScript untuk keamanan jenis data yang lebih baik dan fitur-fitur ES6+ seperti async/awaitSelain itu, ikuti konvensi pengkodean yang spesifik untuk platform Swift (iOS) dan Kotlin (Android).

Manajemen Error dan Tipe

Pengelolaan error yang konsisten sangat penting untuk kompatibilitas lintas-platform. Berikut contoh:

async checkPermissions(): Promise<PermissionStatus> {
  try {
    const result = await this.implementation.checkPermissions();
    return result;
  } catch (error) {
    throw new Error(`Permission check failed: ${error.message}`);
  }
}

Untuk keamanan jenis data:

  • Pakai interface yang fokus untuk kasus penggunaan tertentu.
  • Pakai jenis tipe union untuk variasi yang spesifik platform.

Code Dokumentasi

Dokumentasi yang baik sangat penting untuk membuat plugin Anda lebih mudah digunakan dan aksesibel. Ikuti praktik-praktik ini:

  1. API Dokumentasi: Tuliskan komentar JSDoc yang kompatibel dengan @capacitor/docgenContoh:
/**
 * @description Get the device's current battery level
 * @returns Promise with the battery level percentage
 */
async getBatteryLevel(): Promise<{ level: number }>;
  1. Struktur README: Termasuk informasi penting seperti langkah instalasi, instruksi konfigurasi, persyaratan platform khusus, contoh penggunaan, dan rujukan API yang rinci.

Penulisan dokumentasi yang baik memastikan bahwa plugin Anda mudah diadopsi dan berkontribusi pada komunitas Capacitor yang lebih luas.

sbb-itb-f9944d2

Panduan Pengujian Plugin

Pengujian plugin Capacitor melibatkan fokus pada beberapa area kritis untuk memastikan fungsi yang halus dan keandalan.

Pengujian Jembatan Asli

Pengujian jembatan asli memastikan komunikasi yang tepat antara JavaScript dan code asli. Untuk memulai, atur lingkungan pengujian Anda dengan kerangka kerja yang disesuaikan untuk setiap platform.

Contoh berikut adalah Jest Uji unit untuk sisi JavaScript:

// Example of a Jest unit test for the JavaScript bridge
describe('DeviceInfo Plugin', () => {
  test('getBatteryLevel returns valid percentage', async () => {
    const result = await DeviceInfo.getBatteryLevel();
    expect(result.level).toBeGreaterThanOrEqual(0);
    expect(result.level).toBeLessThanOrEqual(100);
  });
});

Pengujian pada sisi asli dapat menggunakan XCTest untuk iOS dan JUnit untuk Android. Contoh berikut adalah untuk Android:

@Test
fun testBatteryLevel() {
    val plugin = DeviceInfo()
    val result = plugin.getBatteryLevel()
    assertTrue(result.level in 0..100)
}

Setelah Anda yakin fungsi bridge inti berfungsi seperti yang diharapkan, lanjutkan ke pengujian alur kerja pengguna yang lengkap.

Uji Coba Plugin Lengkap

Untuk memastikan plugin Anda berfungsi dengan baik di berbagai skenario, uji berbagai kategori:

Kategori Uji Coba Area Fokus Utama
Uji Coba Integrasi Fungsi multi-platform
Uji Coba Kinerja Penggunaan sumber daya dan waktu respons
Uji Coba Keamanan Pengelolaan data dan pengecekan izin

Untuk plugin dengan fitur yang kompleks, simulasikan skenario pengguna nyata. Misalnya, jika Anda sedang menguji plugin DeviceInfo, periksa untuk:

  • Unikah upload yang sukses di bawah kondisi jaringan yang berbeda
  • Rapor kemajuan yang akurat
  • Penggunaan memori selama transfer file besar

Pengujian OTA dengan Capgo

Capgo Live Update Dashboard Interface

Capgo memiliki alat-alat sumber terbuka yang memudahkan untuk menginstal dan menguji update dengan cepat. Berikut cara menggunakan:

  1. Konfigurasi saluran update seperti dev, staging, dan produksi.
  2. Automatisasi penginstalan dengan alat CI/CD.
  3. Pengiriman update secara instan.
  4. Monitor kinerja dan masalah melalui Capgo dashboard.

Untuk peluncuran berlangkah, Capgo memungkinkan Anda untuk membatasi pembaruan ke sejumlah kecil pengguna. Misalnya, Anda dapat meluncurkan versi baru ke 25% pengguna setiap 24 jam:

// Example configuration for staged rollout
{
  "plugin": "camera-plugin",
  "version": "1.2.0",
  "rollout": {
    "percentage": 25,
    "interval": "24h"
  }
}

Ini pendekatan berlangkah membantu mengidentifikasi masalah-masalah awal dengan memanfaatkan umpan balik komunitas sebelum rilis penuh.

Proses Pull Request

Setelah Anda telah melakukan tes yang teliti terhadap perubahan, ikuti langkah-langkah berikut untuk mengirimkan pull request Anda:

Daftar Pemeriksaan PR

Sebelum mengirimkan, pastikan Anda telah menutup area-area penting berikut:

Kategori Apa yang Perlu Diperiksa
Kualitas Code - Pastikan implementasi Swift/Kotlin sesuai dengan API web.
Pengujian - Tambahkan tes unit untuk setiap fungsi baru.
- Pastikan pipeline CI/CD berhasil.
Dokumentasi - Perbarui README, dokumentasi inline, dan CHANGELOG jika diperlukan.

Pedoman Komunitas

Mengikuti praktek terbaik saat berkolaborasi:

  • Mengikuti umpan balik reviewer dengan cepat.
  • Mengikuti diskusi yang fokus pada detail teknis.
  • Menggunakan fitur saran GitHub untuk mengusulkan code perubahan.
  • Mengirimkan pull request kecil yang fokus pada satu fitur atau masalah per satu kali.

Untuk perubahan yang lebih besar, sebaiknya buatlah issue terlebih dahulu dan diskusikan pendekatan Anda. Tim Capacitor mengandalkan GitHub Actions untuk melakukan pengecekan otomatis, dan semua cek harus berhasil sebelum pull request Anda dapat direview.

Capgo Panduan Integrasi

Jika plugin Anda melibatkan pembaruan live, pastikan plugin Anda berfungsi dengan lancar dengan Capgo sebelum mengirimkan:

  1. Kontrol Versi
    Use clear semantic versioning for your plugin, and document all changes in the changelog. Capgo’s system helps track version adoption across user devices.

  2. Pakai versi semantik yang jelas untuk plugin Anda, dan catat semua perubahan dalam catatan perubahan. Sistem __CAPGO_KEEP_0__ membantu mengikuti adopsi versi di perangkat pengguna.
    Integrate Capgo into your CI/CD pipeline to automate update deployments.

  3. context: Halaman/area: Halaman produk Capgo Builder / native cloud build. Peran: Label UI singkat atau item navigasi. Pesan kunci `native_build_feature_ci_cd` (Fitur Pembangunan Asli Ci Cd).
    Pasang __CAPGO_KEEP_0__ ke dalam pipeline CI/CD Anda untuk mengautomatisasi pengiriman pembaruan.

Pemantauan Pembaruan

To make a meaningful contribution with your plugin, it’s important to follow the established process and meet community standards. This includes sticking to Capacitor’s coding guidelines and thoroughly testing your work.

The PR checklist highlights the need for high-quality submissions. If your plugin supports live updates, integrating with Capgo (as mentioned earlier) can help you release updates quickly without waiting for app store approvals.

Untuk berkontribusi dengan bermakna dengan plugin Anda, penting untuk mengikuti proses yang telah ditetapkan dan memenuhi standar komunitas. Ini termasuk mengikuti pedoman pengkodean __CAPGO_KEEP_0__ dan menguji kinerja plugin Anda secara menyeluruh. terus-menerus memperbarui Capacitor pembaruan akan memastikan plugin Anda tetap berguna dan relevan.

Perhatikan umpan balik pengguna dan lakukan pembaruan jika perlu. Upaya ini yang berkelanjutan membantu menjaga kualitas overall ekosistem dan menjaga plugin Anda berharga bagi pengembang.

Teruskan dari Capacitor Panduan Kontribusi Plugin

Jika Anda menggunakan Capacitor Panduan Kontribusi Plugin untuk merencanakan kerja plugin native, hubungkan dengan Capgo Daftar Plugin untuk alur kerja produk di Capgo Daftar Plugin, Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin oleh Capgo, Mengambah atau Mengupdate Plugin Untuk detail implementasi dalam Menambahkan atau Mengupdate Plugin, Alternatif Plugin Enterprise Ionic Untuk alur kerja produk dalam Alternatif Plugin Enterprise Ionic, dan Capgo Pembangunan Natively Untuk alur kerja produk dalam Capgo Pembangunan Natively.

Update Langsung untuk Aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Dukungan Manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile profesional yang sebenarnya.