Electron은 HTML, CSS, JavaScript를 사용해 크로스 플랫폼 데스크탑 애플리케이셔을 만들기 위한 오픈 소스라이브러리
크로스 플랫폼을 지원하기 위해 Chromium과 Node.js를 1개의 런타임으로 통합하였고, Mac, Window, 리눅스용으로 패키지 할 수 있습니다.
원래는 텍스트 편집기인 아톰을 만들기 위해 Electron 프레임워크를 개발하였습니다.
아래 히스토리에 나온 것 처럼 Atom Shell이라는 이름으로 프로젝트를 시작하였지만, 이후 Electron이라는 이름으로 변경 되었다고 합니다.
어떤 앱들이 만들어 졌나
카테고리 별로 보면 대충 500~600개 정도에 앱들이 있는걸 알수 있습니다.
옆에 실제 앱들을 보면 잘 알려진 앱들이 많습니다. 스카이프, 깃헙 데스크탑, 디스코드, 아톰, 비쥬얼 스튜디오 코드 등
많이 있습니다.
Electron Application Architecture
Electron 지원
자동 업데이트
OS별로 자동 업데이트를 살펴보면 MacOS는 Squirrel이라고 불리는 어플리케이션 업데이트 프레임워크를 사용합니다.
윈도우 또한 Squireel.window를 사용하는 방법도 있지만
electron-winstaller, electron-forge라는 패키지를 사용하거나 electron-installer 패키지를 사용하는 것을 권장한다고 합니다.
메뉴/ 알림
먼저 템플릿을 정하고 menu의 스태틱 메서드 buildFormTemplate를 이용하여 템플릿을 만들고 setApplicationMenu를 호출하면 됩니다.
기본적인 기능은 electron에서 기본 제공하는 role에 할당하면 됩니다.
그 외 로직이 필요할 경우에는 role 대신 click을 생성하여 함수를 작성하면 됩니다.
role, click 뿐만 아니라 checked, enable, visible 등 옵션등이 있습니다.
메뉴를 생성하게 되면 사진 처럼 맥용 윈도우용 리눅스용으로 메뉴가 생성되게 됩니다.
Electron API Demos
'JavaScript' 카테고리의 다른 글
[JavaScript] # WebAssembly, 웹 어셈블리 (0) | 2018.06.06 |
---|---|
[JavaScript] #5, JavaScript Array (0) | 2017.11.14 |
[JavaScript] #4, Module Pattern 모듈 패턴 (1) | 2017.10.28 |
[JavaScript] #3, Function 함수 (0) | 2017.10.13 |
[JavaScript] #2, Data Type 데이터 타입 (0) | 2017.10.12 |