Electron 프레임워크와 현대 앱

발행: (2025년 12월 26일 오전 12:06 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Electron이란?

Electron에 익숙하지 않다면, 웹 앱을 사용해 네이티브 앱을 만드는 프레임워크/번들러입니다. 로컬 Node.js 백엔드를 사용해 양쪽을 JavaScript로 작성할 수 있습니다. 결과물을 분석하기 전까지는 꽤 매력적으로 들리죠.

Electron은 전체 Chromium 인스턴스를 번들링하기 때문에, 비‑Electron 앱이라도 웹 코드를 사용할 경우 메모리와 디스크 공간 요구량이 터무니없이 부풀어 있는 것으로 알려져 있습니다. 헤드리스 버전을 실행하지만 전체 브라우저가 포함됩니다. Chromium은 CEF(Chromium Embedded Framework)라는 임베디드 프레임워크를 제공하지만, Electron은 그것과는 다릅니다.

그렇다면 왜 이렇게 인기가 많을까요?

Electron은 팀에 더 좋습니다.

네이티브 코드는 많은 노력이 필요하고, 팀 환경에서 작은 실수 하나만으로도 악몽이 될 수 있습니다. 웹 코드는 팀 작업에 훨씬 수월하고, 특히 기업에서는 많은 프론트‑엔드 프레임워크와 호환됩니다. 백‑엔드 개발자를 Node.js 쪽에 투입할 수도 있습니다.

하지만 Electron을 사용하면 사용자에게 큰 비용이 발생합니다. 겉보기에 그렇지 않을 수도 있지만, 실제로 약 90 %의 사용자는 고성능 PC를 사용하지 않으며, 약 25–30 %는 4 GB 이상의 RAM을 가지고 있지 않습니다.

개인적인 견해

개발자는 사용자를 위해 앱을 만들지만, 현대 프레임워크인 Electron은 종종 개발자를 먼저 생각하게 합니다. 사용자를 위한 것이 아니라 자신을 위한 것이라고 생각한다면, 개발자가 아닙니다.

Electron을 사용하는 사람들을 비난하려는 의도는 없으며, 가능하면 네이티브가 항상 더 좋은 선택입니다. 웹 기반 프론트‑엔드를 원한다면 다양한 대안이 있습니다.

Electron 대안

Tauri

Tauri는 Rust 기반 프레임워크로, 시스템의 네이티브 웹 엔진(Windows에서는 WebView2, macOS에서는 Safari, 대부분의 Linux 배포판에서는 Gecko)을 사용해 웹 기반 UI를 렌더링합니다. 백엔드는 Rust이며, 프론트‑엔드는 가볍게 유지되어 앱 라이프사이클을 더 세밀하게 제어할 수 있습니다.

크기 비교(최소 앱):

  • Tauri: < 5 MB
  • Electron: 200 + MB

Flutter

Flutter는 Dart로 앱을 작성하고 모바일, 데스크톱, 웹용으로 컴파일할 수 있는 UI 툴킷입니다(데스크톱 중심 프로젝트에서는 웹 타깃을 일반적으로 권장하지 않음). 데스크톱 빌드에서는 Dart가 네이티브 코드로 컴파일되고 Flutter 렌더링 엔진과 연결되어, 네이티브 C++ 애플리케이션에 버금가는 바이너리를 생성합니다.

크기 비교(최소 앱):

  • Flutter: 20–30 MB
  • Electron: 200 + MB

결론

Electron은 여러 플랫폼에서 단일 코드베이스를 중시하는 팀에게는 큰 의미가 있지만, Tauri와 Flutter 같은 대안은 더 작고 효율적인 바이너리를 제공함으로써 최종 사용자에게 더 나은 경험을 줄 수 있습니다.

만약 25일에 이 글을 읽는다면, 메리 크리스마스.

Back to Blog

관련 글

더 보기 »