メインコンテンツへスキップ

検索

·5分で読めます

Electron Webサイトには、APIドキュメント、チュートリアル、Electron関連のnpmパッケージなど、即座に結果を提供する新しい検索エンジンがあります。

Electron Search Screenshot


Electronのような新しいテクノロジーやフレームワークを学ぶのは、気が引けるかもしれません。クイックスタートフェーズを過ぎると、ベストプラクティスを学んだり、適切なAPIを見つけたり、夢のアプリを構築するのに役立つツールを発見したりするのが難しくなることがあります。Electron Webサイトが、アプリをより速く、より簡単に構築するために必要なリソースを見つけるためのより良いツールになることを願っています。

electronjs.orgのどのページにも、ページの上部に新しい検索入力があります。

検索エンジン

Webサイトに検索機能を追加する際に、最初にバックエンドとしてGraphQLを使用して独自の検索エンジンをロールしました。GraphQLは楽しく使用でき、検索エンジンはパフォーマンスが高かったのですが、すぐに検索エンジンの構築は簡単な作業ではないことに気づきました。複数語検索や誤字脱字の検出などの作業を正しく行うには、多くの作業が必要です。車輪の再発明ではなく、既存の検索ソリューションであるAlgoliaを使用することにしました。

Algoliaは、React、Vue、Bootstrap、Yarnなどの一般的なオープンソースプロジェクトや、その他多数の間で、すぐに選ばれる検索エンジンになったホスト型の検索サービスです。

AlgoliaがElectronプロジェクトに適しているいくつかの機能を以下に示します。

APIドキュメント

何を達成したいかは分かっていても、具体的にどのようにすればよいか分からない場合があります。Electronには、750を超えるAPIメソッド、イベント、プロパティがあります。人間がそれらすべてを簡単に覚えることはできませんが、コンピューターはこの種のことを得意としています。ElectronのJSON APIドキュメントを使用して、このすべてのデータをAlgoliaにインデックス化しました。これで、探しているAPIを簡単に見つけることができます。

ウィンドウのサイズを変更しようとしていますか?resizeを検索して、必要なメソッドに直接ジャンプします。

チュートリアル

Electronには、APIドキュメントを補完するためのチュートリアルのコレクションが常に増え続けています。これで、関連するAPIドキュメントと並んで、特定のトピックに関するチュートリアルをより簡単に見つけることができます。

セキュリティのベストプラクティスをお探しですか?securityを検索してください。

npmパッケージ

npmレジストリには700,000を超えるパッケージがあり、必要なパッケージを常に見つけるのが簡単ではありません。これらのモジュールを見つけやすくするために、Electronで特に使用するために構築されたレジストリ内の3400以上のモジュールのコレクションであるelectron-npm-packagesを作成しました。

Libraries.ioのメンバーは、コード、コミュニティ、ドキュメント、使用法などのメトリックの組み合わせに基づいてソフトウェアプロジェクトをスコアリングするシステムであるSourceRankを作成しました。npmレジストリ内のすべてのモジュールのスコアを含むsourceranksモジュールを作成し、これらのスコアを使用してパッケージの結果をソートします。

Electronの組み込みIPCモジュールの代替が必要ですか?is:package ipcを検索してください。

Electronアプリ

Algoliaでデータをインデックス化するのは簡単なので、electron/appsから既存のアプリリストを追加しました。

musicまたはhomebrewを検索してみてください。

検索結果のフィルタリング

GitHubのコード検索を使ったことがある方なら、extension:jsuser:defunktのようにコロンで区切られたキーと値のフィルターをご存知でしょう。このフィルタリング技術は非常に強力だと考えているため、Electronの検索にis:キーワードを追加し、結果を単一のタイプのみに絞り込めるようにしました。

キーボードナビゲーション

キーボードショートカットは誰からも愛されています!新しい検索は、キーボードから手を離さずに使用できます。

  • / 検索入力欄にフォーカスします
  • esc 検索入力欄にフォーカスし、クリアします
  • down 次の結果に移動します
  • up 前の結果、または検索入力欄に移動します
  • enter 結果を開きます

また、このキーボード操作を可能にするモジュールもオープンソース化しました。これはAlgolia InstantSearchで使用するように設計されていますが、さまざまな検索実装との互換性を実現するために一般化されています。

フィードバックをお待ちしています

新しい検索ツールで何か問題が発生した場合は、ぜひお知らせください!

フィードバックを送信する最良の方法は、該当するリポジトリのGitHubでissueを提出することです

謝辞

この新しい検索機能を構築してくれたEmily Jordan氏とVanessa Yuen氏、SourceRankスコアを提供してくれたLibraries.io、そして、始めるのを手伝ってくれたAlgoliaのチームに、特別な感謝を申し上げます。 🍹