한국어
팁/강좌/노하우
 

테크 Electron의 대안

makersweb 2024.04.14 16:39 조회 수 : 114

기존 C/C++나 Java 언어등을 사용하여 데스크탑 앱을 개발하는 개발자가 신규 프로젝트에 크로스플랫폼 앱을 개발하길 원하는 요구사항이나 여러가지 이유(신규기술 습득이나 Qt와 같은 LGPL 등의 라이선스 문제등등)로 Electron 을 고려하는 경우가 있습니다.



Electron은 자바스크립트와 HTML 및 CSS로 데스크톱 앱을 만들게 해주는 프레임워크입니다. Chromium 및 Node.js를 내장해 자바스크립트, HTML 및 CSS 코드베이스로 다양한 운영체제에서 작동하는 앱을 만들 수 있습니다.



그러나 다들 아시다시피 Electron은 Chromium과 Node.js를 내장하는 탓에 최종 결과물이 잡다하고 앱이 런타임에 시스템의 많은 리소스(CPU 점유율 및 메모리 사용량)를 차지하는 특성이 있습니다. (소스코드 보안등의 문제는 차치하고)이런 특성으로 인하여 앱을 무겁게 만듭니다.



Electron이나 Chromium을 커스터마이징하여 앱을 최적화하는 것을 생각할 수도 있겠으나 대부분의 개발자라면 그렇게 하고싶지 않을 것이며 매우 어려운 일이기도 합니다.



지난 몇년간 Electron을 겪어본 결과 최선의 선택이 아닐 수 있습니다. 차라리 Tauri 를 선택하세요. Tauri는 Rust 언어와 웹기술로 데스크톱 플랫폼(macOS, Linux, Windows)용 애플리케이션을 만들 수 있는 툴킷입니다. 기본적으로 Rust 언어를 사용하므로 CPU연산 집약적인 데에도 유리하며 Chromium을 앱에 내장하는 대신 시스템의 기본 웹렌더러(webview)를 사용하기 때문에 앱의 사이즈가 작고 시스템 리소스도 적게 차지합니다. Rust를 사용하고 있지만 머지않아 Go, Nim, Python, Csharp 등과 같은 다른 백엔드도 가능할 것입니다. 라이선스는 MIT/Apache 2.0 에 따라 사용할 수 있습니다.