한국어
팁/강좌/노하우
 

테크 Electron의 대안

makersweb 2024.04.14 16:39 조회 수 : 164

기존 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 에 따라 사용할 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
» Electron의 대안 makersweb 2024.04.14 164
47 윈도우즈환경에서 개발용 OpenSSL 을 구축하는 방법 makersweb 2024.04.07 266
46 대용량(GB 이상의) 파일 공유 with qBittorrent file makersweb 2024.02.07 220
45 대역폭이란 file makersweb 2024.02.07 202
44 [KISA핀테크 아카데미] 서비스 개발 기초 과정 교육생 모집(인슈어테크) 핀테크아카데미 2022.08.30 380
43 ChromeOS Flex 설치 및 맛보기 file makersweb 2022.07.28 93
42 iOS 앱에서 다른 장치와 시리얼 통신 file makersweb 2022.04.28 1949
41 BLE 최대 전송 단위(MTU) file makersweb 2022.04.10 2315
40 Sciter 엔진기반 HTML, CSS 및 스크립트를 사용하여 크로스 플랫폼 데스크톱 애플리케이션 구축 file makersweb 2022.03.28 2763
39 LSP (Language Server Protocol) file makersweb 2022.02.07 213
38 IT 관련 유용한 사이트 공유합니다 예니 2020.07.19 2857
37 윈도우 Chocolatey 패키지 관리자 설치방법 file makersweb 2019.11.17 849
36 윈도우10에서 RSS 피드를 구독하는 방법 makersweb 2019.10.01 1964
35 Microsoft 터미널 및 코드 편집기를위한 새로운 오픈소스 폰트 file makersweb 2019.09.20 1088
34 git 로그를 심플하고 직관적으로 보기 file makersweb 2019.09.16 361
33 Webhook(웹후크)란 무엇인가 makersweb 2019.07.22 6304
32 故박경리 작가 손글씨, 무료 글꼴로 공개 makersweb 2019.01.05 336
31 저렴한 비용으로 만든 비트코인 하드웨어 지갑(Cold storage) file makersweb 2018.12.27 592
30 어떤 프로젝트, 이슈관리 도구를 써야할까? file makersweb 2018.02.27 7664
29 웹기반 리눅스(유닉스) 시스템 관리 도구 - webmin file makersweb 2018.02.19 1869