보일러플레이트와 커맨드라인 도구
Electron 개발은 특정 방식에 얽매이지 않는다. 애플리케이션을 개발하거나 빌드, 패키징, 릴리스하는 데 있어 '유일한 정답'은 없다. Electron의 추가 기능은 빌드 시점과 런타임 모두에서 일반적으로 npm에서 개별 패키지로 제공된다. 이를 통해 개발자는 필요한 애플리케이션과 빌드 파이프라인을 자유롭게 구성할 수 있다.
이러한 모듈성과 확장성은 Electron을 사용하는 모든 개발자에게 큰 팀이든 작은 팀이든 개발 라이프사이클 동안 제약 없이 작업할 수 있는 자유를 보장한다. 하지만 많은 개발자에게는 커뮤니티에서 제공하는 보일러플레이트나 커맨드라인 도구를 사용하는 것이 앱을 컴파일하고 패키징하며 릴리스하는 과정을 훨씬 쉽게 만들어 줄 수 있다.
보일러플레이트 vs CLI
보일러플레이트는 단순히 시작점일 뿐이다. 그림을 그릴 캔버스와 같다. 보통 저장소 형태로 제공되며, 이를 클론한 후 원하는 대로 커스터마이징할 수 있다.
반면 커맨드라인 도구는 개발부터 릴리스까지 전 과정에서 지원을 제공한다. 더 유용하고 도움이 되지만, 코드 구조와 빌드 방식에 대한 가이드라인을 강제한다. 특히 초보자라면 커맨드라인 도구를 사용하는 것이 도움이 될 것이다.
Electron Forge
Electron Forge는 Electron 애플리케이션을 패키징하고 배포하기 위한 도구다. Electron의 다양한 도구 생태계를 하나의 확장 가능한 인터페이스로 통합해 누구나 쉽게 Electron 앱을 만들 수 있게 한다.
Forge는 Webpack을 번들러로 사용하는 즉시 사용 가능한 템플릿을 제공한다. 예제 TypeScript 설정을 포함하고 있으며, 두 개의 설정 파일을 통해 간편한 커스터마이징이 가능하다. Forge는 Electron 커뮤니티에서 널리 사용되는 핵심 모듈(예: @electron/packager
)을 활용한다. 따라서 Electron 메인테이너(예: Slack)가 만든 변경 사항은 Forge 사용자에게도 이점을 제공한다.
더 많은 정보와 문서는 electronforge.io에서 확인할 수 있다.
electron-builder
"배포 준비가 된 Electron 앱을 패키징하고 빌드하기 위한 완벽한 솔루션"으로, 통합된 경험에 중점을 둔다. electron-builder
는 단순함을 목표로 하나의 의존성만 추가하고, 나머지 모든 요구 사항을 내부적으로 관리한다.
electron-builder
는 Electron 메인테이너들이 사용하는 기능과 모듈(예: 자동 업데이터)을 커스텀 구현으로 대체한다. 일반적으로 더 긴밀하게 통합되지만, Atom, Visual Studio Code, Slack과 같은 인기 있는 Electron 앱과는 공통점이 적다.
더 많은 정보와 문서는 레포지토리에서 확인할 수 있다.
도구 없이 단단한 보일러플레이트만 필요하다면, CT Lin의 electron-react-boilerplate
를 살펴보는 것도 좋다. 이 프로젝트는 커뮤니티에서 꽤 인기가 있으며, 내부적으로 electron-builder
를 사용한다.
다른 도구와 보일러플레이트
"Awesome Electron" 리스트에는 더 많은 도구와 보일러플레이트가 포함되어 있다. 리스트의 길이가 부담스럽게 느껴진다면, 필요한 도구를 점진적으로 추가하는 방법도 유효하다는 점을 기억하자.