Electron의 새로운 국제화 웹사이트
Electron의 새로운 웹사이트가 electronjs.org로 이전했다! 기존의 정적 Jekyll 사이트를 Node.js 웹 서버로 교체하면서, 사이트를 다국어로 지원할 수 있는 유연성을 확보했고, 더 많은 흥미로운 기능을 추가할 수 있는 기반을 마련했다.
🌍 다국어 지원
Electron 앱 개발을 전 세계 개발자들이 더 쉽게 접근할 수 있도록 웹사이트의 국제화 작업을 시작했다. GitHub과 연동되는 Crowdin이라는 현지화 플랫폼을 사용하며, 콘텐츠가 다양한 언어로 번역될 때마다 자동으로 풀 리퀘스트를 생성하고 업데이트한다.
지금까지 조용히 진행해온 이 프로젝트에 75명 이상의 Electron 커뮤니티 멤버들이 자발적으로 참여했다. 웹사이트를 국제화하고 Electron 문서를 20개 이상의 언어로 번역하는 작업에 힘을 보태고 있다. 현재 프랑스어, 베트남어, 인도네시아어, 중국어 등의 언어 번역이 활발히 진행 중이며, 전 세계에서 매일 기여가 이뤄지고 있다.
원하는 언어를 선택하고 번역 진행 상황을 확인하려면 electronjs.org/languages를 방문하면 된다.
여러 언어에 능통하고 Electron 문서 및 웹사이트 번역에 관심이 있다면 electron/electron-i18n 저장소를 방문하거나, GitHub 계정으로 로그인하여 바로 Crowdin에서 번역 작업에 참여할 수 있다.
현재 Crowdin에서 Electron 프로젝트를 위해 21개 언어가 활성화되어 있다. 더 많은 언어를 추가하는 것은 간단하므로, 번역에 관심이 있지만 원하는 언어가 목록에 없다면 알려주기만 하면 해당 언어를 활성화할 것이다.
원본 마크다운 문서 읽기
원본 마크다운 파일로 문서를 읽고 싶다면, 이제 어떤 언어로든 가능하다:
git clone https://github.com/electron/electron-i18n
ls electron-i18n/content
앱 페이지
현재 모든 Electron 앱은 Electron 사이트에 자체 페이지를 쉽게 가질 수 있다. 몇 가지 예제로는 Etcher, 1Clipboard, 또는 GraphQL Playground를 확인할 수 있다. 여기서는 일본어 버전의 사이트에 표시된 GraphQL Playground를 보여준다:
현존하는 Electron 앱 중에는 놀라운 것들이 많지만, 항상 쉽게 찾을 수 있는 것은 아니다. 또한 모든 개발자가 앱을 홍보하고 배포하기 위한 적절한 웹사이트를 구축할 시간과 리소스를 갖고 있지도 않다.
PNG 아이콘 파일과 약간의 앱 메타데이터만 사용하면 주어진 앱에 대한 많은 정보를 수집할 수 있다. GitHub에서 수집한 데이터를 활용해 앱 페이지는 스크린샷, 다운로드 링크, 버전, 릴리스 노트, 그리고 공개 저장소가 있는 모든 앱의 README를 표시할 수 있다. 각 앱의 아이콘에서 추출한 색상 팔레트를 사용해 대담하고 접근성이 좋은 색상을 생성함으로써 각 앱 페이지에 시각적 차별성을 부여할 수 있다.
앱 인덱스 페이지는 이제 카테고리와 키워드 필터를 제공해 GraphQL GUI나 p2p 도구와 같은 흥미로운 앱을 찾을 수 있게 한다.
만약 여러분의 Electron 앱을 이 사이트에 소개하고 싶다면, electron/electron-apps 저장소에 풀 리퀘스트를 열어보자.
Homebrew로 한 줄로 설치하기
macOS용 패키지 관리자인 Homebrew에는 cask라는 서브커맨드가 있다. 이 명령어를 사용하면 터미널에서 단 한 줄의 명령어로 데스크톱 앱을 쉽게 설치할 수 있다. 예를 들어 brew cask install atom
과 같은 명령어를 사용할 수 있다.
우리는 인기 있는 Electron 앱의 Homebrew cask 이름을 수집하기 시작했고, cask가 있는 모든 앱 페이지에 macOS 사용자를 위한 설치 명령어를 표시하고 있다.
Homebrew cask 이름이 있는 모든 앱을 보려면 electronjs.org/apps?q=homebrew를 방문하면 된다. 만약 우리가 아직 인덱싱하지 않은 cask가 있는 다른 앱을 알고 있다면, 추가해 주세요!
🌐 새로운 도메인으로 이전
이제 사이트를 electron.atom.io에서 새로운 도메인인 electronjs.org로 옮겼다.
Electron 프로젝트는 GitHub의 오픈소스 텍스트 에디터인 Atom에서 시작되었다. Atom은 웹 기술을 기반으로 구축된 에디터다. Electron은 원래 atom-shell
이라는 이름으로 불렸다. Atom이 이 기술을 처음 사용한 앱이었지만, 이 마법 같은 Chromium과 Node 런타임이 다양한 애플리케이션에 활용될 수 있다는 사실이 금방 알려졌다. Microsoft와 Slack 같은 회사들이 atom-shell
을 사용하기 시작하면서, 이 프로젝트에 새로운 이름이 필요하다는 점이 명확해졌다.
그렇게 "Electron"이 탄생했다. 2016년 초, GitHub은 Atom과 별도로 Electron 개발과 유지보수에 집중할 새로운 팀을 꾸렸다. 그 이후로 Electron은 수천 명의 앱 개발자에게 채택되었으며, 이제는 많은 대기업에서 필수적인 기술로 자리 잡았다. 이들 중 상당수는 자체 Electron 팀을 운영하고 있다.
Atom과 GitHub Desktop 같은 GitHub의 Electron 프로젝트를 지원하는 것은 여전히 우리 팀의 우선순위다. 하지만 새로운 도메인으로 이전함으로써 Atom과 Electron 사이의 기술적 차이를 더 명확히 하고자 한다.
🐢🚀 Node.js를 어디서나 활용하기
이전의 Electron 웹사이트는 Ruby 기반의 정적 사이트 생성기인 Jekyll로 구축되었다. Jekyll은 정적 웹사이트를 만드는 데 훌륭한 도구지만, 웹사이트가 점점 더 복잡해지면서 한계를 느끼기 시작했다. 우리는 적절한 리다이렉트와 동적 콘텐츠 렌더링과 같은 더 많은 동적 기능을 원했고, Node.js 서버가 명백한 선택이었다.
Electron 생태계는 Python부터 C++, Bash까지 다양한 프로그래밍 언어로 작성된 컴포넌트를 포함하고 있다. 하지만 JavaScript는 Electron의 기반이자 커뮤니티에서 가장 많이 사용되는 언어다.
웹사이트를 Ruby에서 Node.js로 마이그레이션함으로써, 우리는 웹사이트에 기여하고자 하는 사람들의 진입 장벽을 낮추고자 한다.
⚡️ 오픈소스 참여가 쉬워졌다
여러분의 시스템에 Node.js (8 버전 이상)와 git이 설치되어 있다면, 로컬에서 사이트를 쉽게 실행할 수 있다:
git clone https://github.com/electron/electronjs.org
cd electronjs.org
npm install
npm run dev
새로운 웹사이트는 Heroku에 호스팅된다. 우리는 배포 파이프라인과 Review Apps 기능을 사용하며, 이 기능은 모든 풀 리���스트에 대해 실행 가능한 앱 복사본을 자동으로 생성한다. 이를 통해 리뷰어가 사이트의 실제 복사본에서 풀 리���스트의 효과를 쉽게 확인할 수 있다.
🙏 기여자들에게 감사드립니다
전 세계에서 자발적으로 시간과 열정을 바쳐 Electron을 개선하는 데 기여한 모든 분들에게 특별한 감사를 표합니다. 오픈소스 커뮤니티의 열정은 Electron의 성공에 큰 힘이 되었습니다. 정말 감사합니다!