Skip to main content

Capacitor プラグインコントリビューションガイド

Capacitor プラグインの効果的なコントリビューションについて、設定、コーディングスタンダード、テスト、ドキュメントの包括的なガイドを学びます。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

Capacitor プラグインコントリビューションガイド

Capacitor プラグインは、ウェブ技術とネイティブデバイス機能を接続することで、モバイルアプリケーションを開発するための強力なツールです。 クロスプラットフォームアプリ開発このガイドは、次のことを助けています:

  • 環境を設定する: 必要なツールは Node.js, Xcode, Android Studio です。
  • Follow Code Standards: TypeScript, スワフト, と コーティン 一貫した命名規則とエラーハンドリングを使用します。
  • 徹底的なテスト: JavaScript、iOS、Android用のユニットテストを書き、信頼性を確保します。
  • 明確なドキュメント: JSDocとREADMEファイルを使用して、容易に採用できるようにします。
  • プルリクエストを提出する: 高品質のcode、テスト、ドキュメントを確保して貢献する前に。

オープンソースへの完全ガイド - コントリビュートする方法

開発環境の設定

__CAPGO_KEEP_0__

プラグイン開発の効率的な実行に不可欠なのは、開発環境の設定です。開発環境が整っていれば、コードの書き込み、テスト、プラグインのデプロイがスムーズに進みます。

必要なツールとスキル

開発を始める前に、以下のツールをインストールしておきましょう。 カテゴリ
要件 Node.js (LTS), npm 6+, Git
Node.js (LTS), __CAPGO_KEEP_0__ 6+, Git Visual Studio Code Visual Studio __CAPGO_KEEP_0__
またはあなたの好きなエディター Xcode, SwiftLint, CocoaPods
Android Development Android Studio, Android SDK, JDK

Web開発ではTypeScriptに慣れており、iOS用にSwift、またはAndroid用にJava/Kotlinに慣れていることが必要です。 [1][2].

Monorepoの設定

The Capacitor プラグイン monorepo構造がこのエコシステムの基盤です。このアプローチにより、コミュニティの標準に沿った作業が最初から始まります。

  1. リポジトリをフォークしてクローンする
    まず、GitHubでCapacitor プラグインのリポジトリをフォークしてください。次に、フォークしたリポジトリをクローンしてください:

    git clone https://github.com/your-username/capacitor-plugins.git
    cd capacitor-plugins
    npm install
  2. 依存関係をインストールしてビルド
    Capgoをインストールしてプラグインをビルドするには、以下のコマンドを実行してください。

    npm run build
  3. バージョン管理の設定
    変更を管理するには、機能ブランチを使用し、上流リポジトリとフォークを同期してください。

ネイティブプラットフォームの準備

クロスプラットフォーム開発を行うには、iOSとAndroidの環境を設定する必要があります。

iOS:

  • Mac App StoreからXcodeをダウンロードしてください。

  • 以下のコマンドを使用して、コマンドラインツールをインストールしてください。

    xcode-select --install
  • 以下のコマンドを使用して、CocoaPodsをインストールしてください。

    sudo gem install cocoapods
  • Apple Developerアカウントと必要な証明書を設定してください。

  • SwiftLint (任意)を使用して、codeの品質を維持してください。

For Android:

  • Android Studioと最新のSDK、および仮想デバイスをインストールしてください。
  • JDKがインストールされていることを確認してください。
  • Android Studio内でSDKを適切に設定してください。

これらのプラットフォームが設定されたら、既存のコーディング慣行に従い、プラグイン開発に進む準備が整います。

Code Standards Guide

開発環境が設定されたら、これらのガイドラインに従って、メンテナンスしやすく使いやすいプラグインを構築してください。

Style Guide Compliance

The Capacitor plugin ecosystem 厳格なコーディング規範を、ツールとしてのESLintなどを使用して強制します。 ESLint, Prettier, and SwiftLint. Here’s a quick overview of the required formatting:

Component Format
Variables deviceInfo (camelCase)
Classes BatteryManager (PascalCase)
Methods getLanguageCode() (camelCase)
Constants MAX_RETRY_COUNT (SNAKE_CASE)

プラグインでは、型安全性とES6+機能を利用するためにTypeScriptを使用することをお勧めします。 async/awaitさらに、Swift (iOS) と Kotlin (Android) に特化したコーディング規約を遵守してください。

エラーと型の管理

クロスプラットフォーム互換性のために一貫したエラーハンドリングが重要です。以下の例を参照してください。

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

型安全性のための

  • 特定の用途に特化したフォーカスされたインターフェイスを使用します。
  • プラットフォーム固有のバリエーションに対してユニオン型を適用します。

Code ドキュメント

プラグインのアクセス性と使いやすさを高めるために、ドキュメント作成は重要です。以下の慣行を守ってください。

  1. API ドキュメント: JSDoc コメントを使用して、 @capacitor/docgen. 以下の例を参照してください。
/**
 * @description Get the device's current battery level
 * @returns Promise with the battery level percentage
 */
async getBatteryLevel(): Promise<{ level: number }>;
  1. README構造: インストール手順、構成指示、プラットフォーム固有の要件、使用例、および API の詳細なリファレンスを含めるようにしてください。

Well-written documentation ensures that your plugin is easy to adopt and contributes to the broader Capacitor community.

ドキュメントを書き直すことで、プラグインが容易に採用され、より広い __CAPGO_KEEP_0__ コミュニティに貢献することができます。

sbb-itb-f9944d2

Testing Capacitor plugins involves focusing on a few critical areas to ensure smooth functionality and reliability.

__CAPGO_KEEP_0__ プラグインのテストには、smoothな機能性と信頼性を確保するために、重要な幾つかの領域に焦点を当てることが含まれます。

Native bridge testing ensures proper communication between JavaScript and native code. To get started, set up your testing environment with frameworks tailored to each platform.

ネイティブブリッジテストは、JavaScriptとネイティブ __CAPGO_KEEP_0__ の間の適切なコミュニケーションを確保することを目的としています。始めるには、各プラットフォームに特化したフレームワークを使用してテスト環境を設定する必要があります。 ここでは、 Jest

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

JavaScript側のユニットテストの例です:「」、

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

機能が予想どおりに動作するコアブリッジの基本機能を確認した後、ユーザーフローの完全なテストに進みます。

プラグインテスト

さまざまなシナリオでプラグインがうまく動作することを確認するには、以下のカテゴリをテストしてください:

テストカテゴリ 主な焦点領域
統合テスト クロスプラットフォーム機能
パフォーマンステスト リソース使用量とレスポンス時間
セキュリティテスト データハンドリングとパーミッションチェック

複雑な機能を持つプラグインの場合、実世界のユーザースコピオをシミュレートしてください。例えば、デバイス情報プラグインをテストしている場合、以下の点を確認してください:

  • 異なるネットワーク条件下での成功アップロード
  • 正確な進行状況報告
  • 大規模ファイル転送時のメモリ使用量

__CAPGO_KEEP_0__のOTAテスト Capgo

Capgoライブアップデートダッシュボードインターフェイス

Capgoのオープンソースツールにより、迅速なアップデートのデプロイとテストが容易になります。以下は使用方法です。

  1. セットアップ アップデートチャンネルの設定 dev、staging、productionなどのチャンネルを設定します。
  2. CI/CDツールを使用してデプロイを自動化します。
  3. 即時アップデートのプッシュ
  4. パフォーマンスと問題の監視は Capgo ダッシュボード.

Capgoでは、フェーズドロールアウトを実行できます。これにより、更新を小さなユーザーのグループに制限できます。たとえば、24時間ごとに25%のユーザーに新しいバージョンをロールアウトできます。

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

フェーズドアプローチは、コミュニティからのフィードバックを利用して、フルリリース前に問題を早期に特定するのに役立ちます。

プルリクエストプロセス

変更を徹底的にテストした後、次の手順に従ってプルリクエストを提出してください。

PR提出チェックリスト

提出する前に、次の重要な領域をカバーしてください。

カテゴリ チェックすること
Code品質 - Swift/Kotlin実装がWebAPIと一致することを確認してください。
テスト - 新機能のユニットテストを追加する。
- CI/CD パイプラインのチェックが正常に実行されることを確認する。
ドキュメント - README、インラインドキュメント、CHANGELOG を必要に応じて更新する。

コミュニティガイドライン

協力する際は、以下のベストプラクティスに従う。

  • レビューフィードバックに迅速に対応する。
  • 技術的な詳細に焦点を当てた議論を続ける。
  • 「GitHub」の提案機能を使用して、「code」の変更を提案する。
  • 1 つの機能または問題に対して、時間を短くする小さな、集中したプルリクエストを提出する。

大きな変更の場合、まず問題を作成し、自分のアプローチについて議論することが良いでしょう。Capacitor チームは、GitHub Actions を使用して自動チェックを実行し、すべてのチェックが正常に実行されるまで、プルリクエストをレビューすることはできません。

Capgo Integration Guide

Capgoを使用する場合、ライブ更新が含まれるプラグインは、提出前にCapgoと互換性があることを確認してください。

  1. バージョン管理
    プラグインのバージョン管理は明確でシナティックで、すべての変更を変更履歴に記録してください。Capgoのシステムは、ユーザー端末でのバージョン採用を追跡するのに役立ちます。

  2. CI/CD統合
    CapgoをCI/CDパイプラインに統合して、自動更新のデプロイを実行してください。

  3. 更新監視
    デプロイの成功率を監視し、アプリストアのガイドラインに準拠することを確認してください。

概要

プラグインを有意義に貢献するには、既存のプロセスに従い、コミュニティの基準を満たすことが重要です。これには、Capacitorのコーディングガイドラインに従い、徹底的にテストすることが含まれます。

Capgoの統合は、ライブ更新をサポートするプラグインの場合、迅速な更新のリリースを可能にするため、PRチェックリストで強調されています。

PRがマージされた後、問題を追跡し、バージョンアップデートをリリースすることで、コミュニティとの定期的な交流、安定したメンテナンス、 Capacitor のアップデートを追跡する __CAPGO_KEEP_0__ のアップデートを追跡することで、プラグインは常に有用で関連性のあるものになります。

ユーザーのフィードバックに耳を傾け、必要に応じてアップデートを実施してください。この継続的な取り組みにより、エコシステムの全体的な品質を維持し、開発者にとってプラグインが価値のあるものになります。

Capacitor プラグインの貢献ガイドから続けましょう。

「__CAPGO_KEEP_0__ プラグインの貢献ガイド」を使用して、ネイティブ プラグインの作業を計画する場合、__CAPGO_KEEP_0__ プラグイン ディレクトリと接続してください。 「Capacitor プラグイン ディレクトリ」で「Capacitor プラグイン ディレクトリ」内の製品ワークフローと接続してください。 「__CAPGO_KEEP_0__ プラグイン」、「__CAPGO_KEEP_1__」で実装詳細を確認してください。 「Capgo プラグイン」、「__CAPGO_KEEP_1__」で実装詳細を確認してください。 for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, プラグインを追加または更新する 実装詳細の追加または更新の場合の実装詳細 Ionic Enterprise プラグインの代替 Ionic Enterprise プラグインのワークフロー Capgo ネイティブ ビルドのワークフロー Capgo ネイティブ ビルド

Capacitor アプリのリアルタイム更新

Capgo を使用して、ウェブ層のバグが生じた場合に、修正をアプリストアの承認待ちの日数を待たずに配信することができます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路で残ります。

今すぐ始めましょう

最新のブログ記事

Capgo を使用すると、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を得ることができます。