Electron Userland
Electron 웹사이트에 새로운 userland 섹션을 추가했다. 이 섹션은 우리의 활발한 오픈소스 생태계를 이루는 사람들, 패키지, 앱을 사용자가 쉽게 발견할 수 있도록 돕는다.
유저랜드의 기원
유저랜드는 소프트웨어 커뮤니티의 사람들이 도구와 아이디어를 공유하는 장소다. 이 용어는 Unix 커뮤니티에서 시작되었으며, 커널 외부에서 실행되는 모든 프로그램을 의미했다. 하지만 오늘날에는 더 넓은 의미를 지닌다. 현재 JavaScript 커뮤니티에서 유저랜드를 언급할 때, 대부분 npm 패키지 레지스트리를 가리킨다. 여기서 대부분의 실험과 혁신이 이루어지며, Node와 JavaScript 언어(Unix 커널과 유사하게)는 비교적 작고 안정적인 핵심 기능 집합을 유지한다.
Node와 Electron
Node와 마찬가지로 Electron도 핵심 API 세트를 제공한다. 이 API들은 멀티플랫폼 데스크톱 애플리케이션 개발에 필요한 기본 기능을 지원한다. 이러한 설계 철학은 Electron이 사용 방식에 대해 지나치게 규제하지 않으면서도 유연한 도구로 남을 수 있게 한다.
Userland는 "core"의 상대 개념으로, 사용자가 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 사용자 영역의 패키지, 저장소, 사용자에 대한 데이터
- electron/repos-using-electron:
electron
또는electron-prebuilt
에 의존하는 GitHub의 모든 공개 저장소 - electron/electron-npm-packages:
package.json
파일에서electron
을 언급하는 모든 npm 패키지
이 보고서를 개선할 아이디어가 있다면, 웹사이트 저장소에 이슈를 열어 알려주거나 위에 언급된 저장소 중 하나에 제안해 주길 바란다.
Electron 커뮤니티 여러분 덕분에 사용자 영역이 오늘날의 모습을 갖추게 되었다. 감사하다!