Electron Userland
Electronのウェブサイトに、活気のあるオープンソースエコシステムを構成する人々、パッケージ、アプリを発見するのに役立つ新しいuserlandセクションを追加しました。
Userlandの起源
Userlandとは、ソフトウェアコミュニティの人々が集まってツールやアイデアを共有する場所です。この用語はUnixコミュニティで生まれ、カーネルの外で実行されるプログラムを指していましたが、今日ではより広い意味を持っています。今日のJavaScriptコミュニティでは、Userlandといえば通常npmパッケージレジストリを指します。これは、大部分の実験とイノベーションが起こる場所であり、NodeとJavaScript言語(Unixカーネルのようなもの)は比較的少なく安定したコア機能を保持しています。
NodeとElectron
Nodeと同様に、Electronは少数の基本APIを持っています。これらは、マルチプラットフォームデスクトップアプリケーション開発に必要な基本機能を提供します。この設計思想により、Electronはどのように使用されるべきかについて過度に規定することなく、柔軟なツールとして維持されます。
Userlandは「コア」に対する対応物であり、ユーザーはElectronの機能を拡張するツールの作成と共有を可能にします。
データ収集
エコシステムのトレンドをより深く理解するために、`electron`または`electron-prebuilt`に依存する15,000個のパブリックGitHubリポジトリのメタデータの分析を行いました。
GitHub API、libraries.io API、およびnpmレジストリを使用して、依存関係、開発依存関係、依存者、パッケージ作者、リポジトリ貢献者、ダウンロード数、フォーク数、スター数などを収集しました。
その後、このデータを使用して次のレポートを作成しました。
- アプリ開発依存関係:Electronアプリで`devDependencies`として最も頻繁にリストされているパッケージ。
- GitHub貢献者:多数のElectron関連GitHubリポジトリに貢献したGitHubユーザー。
- パッケージ依存関係:他のnpmパッケージによって頻繁に依存されるElectron関連npmパッケージ。
- スター付きアプリ:(npmパッケージではない)多数のスターを持つElectronアプリ。
- 最もダウンロードされたパッケージ:頻繁にダウンロードされるElectron関連npmパッケージ。
- アプリ依存関係:Electronアプリで`dependencies`として最も頻繁にリストされているパッケージ。
- パッケージ作成者:Electron関連npmパッケージの最も多作な作成者。
結果のフィルタリング
パッケージ、アプリ、リポジトリをリストするアプリ依存関係やスター付きアプリなどのレポートには、結果をフィルタリングするために使用できるテキスト入力があります。
この入力に文字を入力すると、ページのURLが動的に更新されます。これにより、特定のスライスされたUserlandデータを表すURLをコピーして、他のユーザーと共有できます。
今後の展開
この最初のレポートセットは始まりに過ぎません。コミュニティがどのようにElectronを構築しているかについてのデータの収集を継続し、ウェブサイトに新しいレポートを追加していきます。
このデータの収集と表示に使用されたすべてのツールはオープンソースです。
- electron/electronjs.org:Electronウェブサイト。
- electron/electron-userland-reports:Electron Userlandのパッケージ、リポジトリ、ユーザーに関するデータのスライス。
- electron/repos-using-electron:`electron`または`electron-prebuilt`に依存するすべての公開GitHubリポジトリ。
- electron/electron-npm-packages:`package.json`ファイルに`electron`を記述しているすべてのnpmパッケージ。
これらのレポートを改善する方法に関するアイデアがありましたら、ウェブサイトのリポジトリでissueを作成して、または上記のリポジトリのいずれかにご連絡ください。
皆様、Electronコミュニティのおかげで、Userlandは今日の姿になっています!