일렉트론(Electron)이란?

일렉트론은 Javascript, HTML, CSS 만으로도 데스크탑 앱을 만들 수 있는 프레임워크이다. 2013년 아톰 쉘(Atom Shell)이라 불리는 크로스 플랫폼 애플리케이션 쉘로 시작했으며 오픈소스화, 명칭 변경등을 거쳐 현재는 깃허브에서 개발하고 있다.

자바스크립트는 현재 전세계에서 가장 많은 개발자가 사용하는 프래그래밍 언어로 그 인기만큼 활용 범위가 커지고 있다. 그 중 하나가 일렉트론이다. 매년 발표되는 WEB Developer frontend roadmap을 살펴보면 데스크탑 앱에 일렉트론이 있는 것을 확인할 수 있다.


일렉트론 특징

웹기술

  • 백엔드 : node.js 런타임
  • 프론트엔드 : Chromium(크로미엄, 오픈소스 웹브라우저 프로젝트) + (Javascript, HTML, CSS)를 이용 React, Vue, Angular도 사용가능하다.

오픈소스 기반

일렉트론은 Github가 관리하는 오픈소스 프로젝트이며 적극적인 참여자들과 함께하는 커뮤니티이다.

장점

  • 낮은 진입 장벽:
    일렉트론은 개발자의 진입 장벽이 낮다는 장점이 있다. Javascript, HTML, CSS 및 웹 기술을 다룰줄 아는 개발자라면 누구나 일렉트론 앱을 개발할 수 있다. 그 말은 따로 새로운 기술이나 언어를 배울 필요가 없기 때문에 기존의 웹 기술을 사용하던 개발자들은 어렵지 않게 시작할 수 있다.

  • 개발 속도 향상:
    자바스크립트의 인터프리터 방식으로 개발자는 손쉽게 디버깅하고 최적화할 수 있어 일렉트론 앱을 빠르게 구현할 수 있다. 또한, 일렉트론으로 개발된 애플리케이션은 일반적으로 웹 애플리케이션의 비즈니스 로직, 디자인 및 구조를 재사용하기 때문에 개발에 소요되는 시간과 비용을 줄일 수 있다.

  • 크로스 플랫폼:
    각기 다른 os 플랫폼을 지원한다는 장점이 있다. 데스크탑 앱을 개발할 때 각 os마다 최적화 작업을 진행해야하고 API선언 및 제공이 달라질 수 있으며 os별로 코드가 상이하기 때문에 유지보수에 어려움을 겪을 수 있다. 하지만 일렉트론은 이러한 이슈들을 해결할 수 있다. 맥, 윈도우, 리눅스별로 적합한 룩앤필을 맞추고 개발자들에게 친숙한 자바스크립트, HTML, CSS를 활용하여 개발하기 때문에 쉽게 애플리케이션을 구성할 수 있다.

또한, 한번에 세 가지 os에 대한 빌드를 지원하고 설치할 수 있도록 도와준다. 기존의 웹 기술을 그대로 사용하면서도 브라우저 버전별로 기능을 제약하거나 타겟 플랫폼에 따라 별도의 버전을 유지할 필요가 없게 된다. os 관련 어려운 부분은 일렉트론이 처리하기 때문에 개발자는 응용 프로그램에만 집중할 수 있다.

정리해서,

  • 일렉트론은 웹 프론트엔드 기술을 사용할 수 있는 개발자라면 쉽게 사용할 수 있을 정도로 러닝커브가 낮다.
  • 일렉트론은 오픈소스 기반 프로젝트이므로 지속적인 업데이트와 큰 규모의 커뮤니티 생태계를 가지고 있다.
  • 크로스 플랫폼이라서 맥, 윈도우, 리눅스 환경 어디서든 구동할 수 있는 장점이 잇다.


일렉트론 활용사례

그렇다면 일렉트론으로 개발한 애플리케이션은 무엇이 있을까?

대표적으로 아톰 에디터, VSCode, 슬랙, 워드프레스 등이 있으며 한국에서는 협업 툴로 유명한 잔디가 그 예시이다. 일렉트론 웹사이트를 방문하면 카테고리별로 일렉트론으로 개발한 앱들을 확인할 수 있다.