Electron 관련 내용 간략 정리
Electron 특징
Electron 은 데스크탑 크로스 플랫폼으로 Electron 공식 문서 상 지원하는 OS 는 다음과 같다.
- macOS x64
- Windows 7 이후 버전 (ARM 제외)
- Linux
- Ubuntu 12.04 이후 버전
- Fedora 21
- Debian 8
크로스 플랫폼 개발을 위해 Chromium 이라는 open source 를 활용하여 Html, CSS, javascript 로 앱 개발을 지원한다.
일반적으로 크로스 플랫폼은 다양한 환경에서 실행 가능하도록 하기 위해 각각의 OS 에 대한 환경 구성을 지원한다.
그로 인해 네이티브 언어에 비해 많은 리소스를 사용하게 된다.
Electron 의 경우 Chrome Browser 의 코어가 되는 Chromium 을 내장하고 있어 기본적으로 많은 리소스를 사용하게 된다.
(지금은 많이 개선 되었으나, Chrome 의 경우 다른 브라우저에 비해 많은 리소스를 사용 하는 것으로 유명하다.)
거기다 backend 로 node 를 사용하게 되면 그만큼 더 많은 리소스를 사용하게 된다.
CSMS 의 경우 여기에 MariaDB 를 사용하여 그 만큼 더 많은 리소스를 사용할 수 밖에 없는 문제가 발생한다.
Stack overflow 문서에 따르면 Electron 으로 Android 및 iOS Applcation 개발은 되지 않으나,
Apache Cordova 를 활용하면 Android 및 iOS Application 개발이 가능하다고 한다.
초기 Electron 은 데스크탑 뿐만 아니라 Android 및 iOS Application 도 지원하였으나 데스크탑만 지원하는 것으로 변경된 것으로 보인다.
Chromium 특징
Open Sorece 로 공개된 Chrome Browser 의 Core Code 이며, 해당 코드로 개발된 브라우저는 다음과 같다.
- Microsofe Etge Browser
- Naver Whale Browser
- Samsung Internet Browser
- Opera Browser
- 그 외 다수(참고4)
Chromium 은 프로세스 관리 방식으로 인해 많은 양의 메모리를 필요로 한다.
- 참고1 : https://tinydew4.github.io/electron-ko/docs/tutorial/supported-platforms
- 참고2 : https://stackoverflow.com/questions/71415088/is-it-possible-to-deploy-an-app-you-built-with-electron-to-android
- 참고3 : https://askubuntu.com/questions/1209022/does-chromium-use-less-ram-than-chrome-in-ubuntu
- 참고4 : https://namu.wiki/w/The%20Chromium%20Projects#s-3