Skip to main content

Capacitor プラグイン貢献ガイド

Capacitor プラグインの効果的な貢献方法を、設定、コーディング規範、テスト、ドキュメントについての包括的なガイドで学びます。

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

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

コンテンツマーケター

Capacitor プラグイン貢献ガイド

Capacitor プラグインは、ウェブ技術とネイティブデバイス機能を接続することで、クロスプラットフォームアプリ開発を可能にします。 このガイドでは、次のことが学べます:. This guide helps you:

  • 環境を設定する: 以下のようなツールを使用します Node.js, Xcode, Android Studio は不可欠です。
  • Follow Code Standards: 以下の言語を使用します TypeScript, Swift, Kotlin 正確な命名規則とエラー処理を使用してください。
  • テストを徹底的に行う: JavaScript、iOS、Android用のユニットテストを書き、信頼性を確保する。
  • 明確にドキュメント化する: JSDocとREADMEファイルを使用して、容易に採用できるようにします。
  • プルリクエストを提出する: 高品質のcode、テスト、ドキュメントを確保する前に貢献する。

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

開発環境のセットアップ

適切な開発環境を作成することは、効率的なプラグイン開発の鍵です。準備が整ったセットアップにより、スムーズなコーディング、テスト、デプロイが可能になります。

__CAPGO_KEEP_0__

必要なツールとスキル

開始する前に、以下のツールがインストールされていることを確認してください:カテゴリ
要件Node.js (LTS), npm 6+, Git
Node.js (LTS)、__CAPGO_KEEP_0__ 6+、GitVisual Studio Code Visual Studio __CAPGO_KEEP_0__
またはあなたの好きなエディターiOS開発 Xcode、, CocoaPods
Androidの開発Android Studio、Android SDK、JDK

Web開発ではTypeScriptに慣れておき、iOSではSwift、AndroidではJava/Kotlinに慣れておく必要があります [1][2].

Monorepoの設定

この Capacitor プラグイン monorepo構造が依存するエコシステムは、コミュニティの標準に沿った作業を最初から始めることを保証しています。

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

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

    npm run build
  3. バージョン管理をセットアップ
    変更のために機能ブランチを使用し、上流リポジトリとフォークを同期してください。

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

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

iOS:

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

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

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

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

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

Android:

  • Android Studioを最新の SDK と仮想デバイスとともにインストールしてください。
  • JDKをインストールしておいてください。
  • Android Studio内でAndroid SDKを適切に設定してください。

これらのプラットフォームを設定すると、既存の開発慣行に従ってプラグイン開発に取り組む準備が整います。

Code スタンダード ガイド

開発環境が整った今、以下のガイドラインに従って、メンテナンスしやすく使いやすいプラグインを作成してください。

スタイル ガイドの準拠

__CAPGO_KEEP_0__ プラグイン エコシステム Capacitor plugin ecosystem __CAPGO_KEEP_0__ __CAPGO_KEEP_0__, __CAPGO_KEEP_0____CAPGO_KEEP_0__

コンポーネントフォーマット
変数deviceInfo (キャメルケース)
クラスBatteryManager (パスカルケース)
メソッドgetLanguageCode() (キャメルケース)
定数MAX_RETRY_COUNT (スネークケース)

プラグインは、より良い型安全性と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 リファレンスを含める必要があります。

ドキュメントの質が高いことであなたのプラグインを簡単に取り入れられるようになり、より広いCapacitorコミュニティに貢献することができます。

sbb-itb-f9944d2

プラグインテストガイド

Capacitorプラグインのテストには、機能が滑らかで信頼性の高いものになるように、重要な幾つかの領域に焦点を当てることが含まれます。

ネイティブブリッジテスト

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.

ここでは、 Jest 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);
  });
});

ネイティブ側のテストの場合、iOSではXCTest、AndroidではJUnitを使用します。Androidの例は以下のとおりです。

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

コアブリッジ機能が期待どおりに動作することを確認したら、ユーザーが実行する全体的なワークフローをテストすることができます。

コンプリートプラグインテスト

To ensure your plugin performs well across different scenarios, test various categories:

テスト カテゴリ主な焦点領域
統合テストクロスプラットフォーム機能
パフォーマンス テストリソース使用量と応答時間
セキュリティ テストデータ処理と許可チェック

複雑な機能を持つプラグインの場合、実世界のユーザー シナリオをシミュレートします。例えば、デバイス情報プラグインをテストする場合、次のことを確認します:

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

OTAテスト用 Capgo

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

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

  1. セットアップ アップデートチャネル 例えば、開発、ステージング、生産用のものです。
  2. CI/CDツールを使用してデプロイを自動化します。
  3. 即時更新をプッシュします。
  4. __CAPGO_KEEP_0__ダッシュボードを使用して、パフォーマンスと問題を監視します。 Capgo Live Update Dashboard Interfaceの設定.

For phased rollouts, Capgo allows you to limit updates to a small percentage of users. For instance, you can roll out a new version to 25% of users every 24 hours:

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

This phased approach helps identify issues early by leveraging community feedback before a full release.

Pull Request Process

Once you’ve thoroughly tested your changes, follow these steps to submit your pull request:

PR Submission Checklist

Before submitting, make sure you’ve covered these key areas:

CategoryWhat to Check
Code Quality- Swift/Kotlin の実装が Web の API と一致していることを確認する。
テスト- 新機能のユニットテストを追加する。
- CI/CD pipelineの確認が成功していることを確認してください。
ドキュメント- README、inlineドキュメント、CHANGELOGを必要に応じて更新してください。

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

共同作業の際には、以下のベストプラクティスに従ってください:

  • レビューフィードバックに迅速に対応してください。
  • 議論を技術的な詳細に焦点を当ててください。
  • GitHubの提案機能を使用して、codeの変更を提案してください。
  • 小さく、焦点を絞ったプルリクエストを提出して、1つの機能または問題に取り組みましょう。

大きな変更の場合、まずissueを作成し、取り組み方について議論してください。CapacitorチームはGitHub Actionsを使用して自動チェックを実行し、すべてのチェックが通過するまでプルリクエストをレビューすることはできません。

Capgo統合ガイド

プラグインがライブ更新を含む場合、Capgoと完全に互換性があることを確認してください。

  1. バージョン管理
    プラグインのバージョン管理に、明確な意味のあるバージョニングを使用し、すべての変更を変更履歴に記録する。Capgoのシステムは、ユーザー機器上のバージョン採用を追跡するのに役立ちます。

  2. CI/CD統合
    CapgoをCI/CDパイプラインに統合して、更新の自動展開を実行します。

  3. 更新監視
    展開成功率を監視し、アプリストアのガイドラインに準拠することを確認します。

概要

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

PRチェックリストは、高品質な提出物の必要性を強調しています。プラグインがライブアップデートをサポートしている場合、Capgo (前述のように) と統合することで、App Storeの承認を待たずにアップデートを迅速にリリースできます。

PRがマージされた後、問題を追跡し、バージョンアップデートをリリースすることで、コミュニティとの定期的な関与、安定したメンテナンス、__CAPGO_KEEP_0__のアップデートに従うことにより、プラグインは有用で関連性のあるものになります。 keeping up with Capacitor updates PRチェックリストは、コミュニティの基準に適合するようにするために、プラグインの提出物の品質を確認するために使用されます。

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

Capacitor プラグインの貢献ガイドに続けてください。

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

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

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

始めましょう

最新のブログ記事

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