# 概要

Eagle Plugin APIへようこそ！APIを使って、開発者は簡単にEagleアプリケーションの機能を拡張できます。オープンなAPIを提供することで、開発者により創造的な空間を提供し、Eagleアプリケーションのプラグインエコシステムを豊かにすることを目指しています。

***

## プラグインタイプ <a href="#cxe1h" id="cxe1h"></a>

まず、Eagleプラグインの4つのタイプを紹介しましょう：

1. **ウィンドウプラグイン**\
   ユーザがクリックすると実行され、プラグインウィンドウが表示されます。このタイプのプラグインは、ユーザーと対話できる機能を提供できます。
2. **バックグラウンドサービスプラグイン**\
   アプリケーションの起動と同時に自動的にバックグラウンドで開始され、システムバックグラウンドで常駐します。
3. **フォーマット拡張プラグイン**\
   Eagleアプリケーションがまだサポートしていないファイル形式を強化または拡張するためのもので、サムネイルや表示ツールなどが含まれています。このプラグインを使用することで、ユーザーはEagleアプリケーションでさらに多くのフォーマットのファイルを開くことができます。
4. **インスペクタ拡張プラグイン**\
   Eagleの右側インスペクタの機能を強化し、異なるファイル形式に対応したデータ情報（追加属性、プレビュー、地図、EXIF情報など）を表示できるようにします。

これら4つのプラグインタイプは、それぞれ用途と特性が異なります。ニーズに応じて、機能を実現するために異なるタイプのプラグインを選択できます。

{% hint style="info" %}
詳細：[プラグインタイプの詳細説明](https://developer.eagle.cool/plugin-api/ja-jp/get-started/plugin-types)
{% endhint %}

***

## Web技術をベースにした開発 <a href="#hvhxa" id="hvhxa"></a>

Eagleプラグインは、Web技術を基盤として開発されており、JavaScriptで記述されています。APIを使用することで、開発者は独自のプラグインを作成し、HTML、CSS、JavaScriptなどのWeb技術を使ってブラウザの機能を拡張できます。

また、Eagle Plugin APIはCORS（Cross-Origin Resource Sharing）制約の影響を受けないため、任意のURLにアクセスできます。これは非常に便利な機能で、複数の異なるデータソースにアクセスして、さらに多くの機能を実現できるようにします

現在、Eagle Plugin APIはChromium 107とNode 16をベースにしているため、Webページの互換性の問題は考慮する必要がありません。開発者は、最新のWeb技術を安心して使用でき、異なるブラウザーやオペレーティングシステムでの互換性問題を心配する必要はありません。

***

## NodeJSネイティブAPIおよびサードパーティモジュールのサポート <a href="#z5f3h" id="z5f3h"></a>

Eagle Pluginは非常に強力なWeb開発プラグインであり、さまざまなWeb技術だけでなく、Node.jsネイティブAPIおよびサードパーティモジュールをサポートしています。これらの機能により、Eagle Pluginは開発者が車輪の再発明を避けるのを助け、同時に開発速度を大幅に向上させることができます。

Node.jsのネイティブAPIをサポートしています。つまり、開発者はNode.jsのさまざまな組み込み機能、ファイルシステム、ネットワーク操作、オペレーティングシステムサービスなどを使用できます。これらの機能により、アプリケーションはファイルの読み取りや書き込み、ネットワークリクエストの処理、タイマータスクの実装など、より複雑なタスクを実行できます。

サードパーティモジュールの導入をサポートします。つまり、開発者はコミュニティが提供するモジュールを直接使用でき、自分で車輪を再発明する必要はありません。これにより、開発者はビジネスロジックの実装により集中でき、基本機能の繰り返しに時間を無駄にすることはありません。

{% hint style="info" %}
もっと読む：

* [Node.jsネイティブAPIの使用](https://developer.eagle.cool/plugin-api/ja-jp/tutorial/node-js-native-api)
* [サードパーティモジュールの使用](https://developer.eagle.cool/plugin-api/ja-jp/tutorial/3rd-modules)
  {% endhint %}

***

## Eagle Plugin API <a href="#x8e88" id="x8e88"></a>

ネイティブのWeb/Node.js APIをサポートするだけでなく、EagleプラグインはEagleアプリケーションが提供するプラグインAPIを使用して、アプリケーション内のファイルやデータにアクセスすることができます。これにより、次のようなさまざまな要件を簡単に実現できます。

1. **保存されたファイルの取得**\
   Eagleアプリケーションで現在保存されているファイルやフォルダデータを取得します。これにより、開発者は簡単にEagleアプリケーション内のファイルやフォルダにアクセスし、さらに操作を行うことができます。
2. **ファイルの追加または変更**\
   Eagleアプリケーションで保存されたデータを追加および変更します。開発者はこの機能を利用して、Eagleアプリケーション内でデータを追加または変更し、自動的に保存できます。
3. **プラグインウィンドウの調整**\
   Eagleアプリケーションウィンドウの幅、高さ、位置、前面表示などを調整します。これにより、開発者はEagleアプリケーションのインターフェースを独自のニーズに合わせてカスタマイズできます。
4. **クリップボードの使用**\
   ファイルのコピーおよび貼り付けなど。開発者はこれらの機能を使用して、Eagleアプリケーションでファイルのコピーおよび貼り付けなどの操作を行い、効率を向上させることができます。

要するに、Eagle Plugin APIは多くの機能を提供し、開発者はそれを使用して自分たちのアプリケーションをうまく開発することができます。それはEagleアプリケーションに強力な拡張機能を提供し、アプリケーションがユーザーのニーズにより適応できるようにします。Eagle Plugin APIの完全なリストを表示するには、ここをクリックしてください。

{% hint style="info" %}
もっと読む：[Eagle Plugin APIのリファレンス](https://github.com/eagle-app/eagle-plugin-document/blob/master/ja-JP/api/README.md)
{% endhint %}

***

## サポートと感謝 <a href="#c6ta7" id="c6ta7"></a>

Eagleプラグインシステムにはまだ多くの問題がありますが、私たちはそれを改善し続けています。あなたが持っているアイデアや提案がある場合、あなたのフィードバックを歓迎しています。私たちに連絡して、プラグインシステムを改善し、ユーザーにより良い体験を提供しましょう。

あなたの参加をお待ちしております。一緒に素晴らしいプラグインエコシステムを作りましょう！
