본문으로 이동

일렉트론 (소프트웨어 프레임워크)

위키백과, 우리 모두의 백과사전.
일렉트론
원저자깃허브
개발자OpenJS 재단
발표일2013년 7월 15일(13년 전)(2013-07-15)[1]
안정화 버전
42.4.0[2] / 2026년 6월 9일(3개월 전)(2026-06-09)
미리보기 버전
43.0.0-beta.4[3] / 2026년 6월 15일(2개월 전)(2026-06-15)
저장소
프로그래밍 언어C++, 자바스크립트, 오브젝티브-C++오브젝티브-C
운영 체제리눅스, macOS, 그리고 윈도우
플랫폼IA-32, x86-64, ARM
라이선스
웹사이트www.electronjs.org 위키데이터에서 편집하기

일렉트론(Electron, 이전 명칭: 아톰 셸/Atom Shell[5])은 OpenJS 재단에서 개발하고 유지 관리하는 자유 및 오픈 소스 소프트웨어 프레임워크이다.[6] 이 프레임워크는 크로미엄 브라우저 엔진의 버전과 Node.js 런타임 환경을 사용하는 백엔드를 통해 렌더링되는 웹 기술(주로 HTML, CSS, 자바스크립트를 사용하지만 프론트엔드 프레임워크나 웹어셈블리 같은 기타 기술도 가능)을 사용하여 데스크톱 애플리케이션을 제작하도록 설계되었다.[7] 또한 Node.js 서비스와의 네이티브 통합 및 프로세스 간 통신 모듈과 같은 기능을 활성화하기 위해 다양한 API를 사용한다.

일렉트론은 원래 아톰을 위해 구축되었으며[5], GitHub Desktop, 라이트 테이블,[8] 워드프레스 데스크톱,[9] 이클립스 테이아(Eclipse Theia)를 포함한 여러 다른 오픈 소스 프로젝트의 주요 GUI 프레임워크이다.[10] 또한 마이크로소프트의 독점 코드 편집기인 비주얼 스튜디오 코드에서도 사용된다.

구조

[편집]

크로미엄은 관리형 런타임 시스템의 기초를 형성하여, 애플리케이션 개발자가 메모리 안전 보장형 자바스크립트 또는 타입스크립트로 크로스 플랫폼 애플리케이션을 작성하고 그래픽을 위해 HTML, CSS, SVG를 포함한 웹 브라우저 기술을 대상으로 삼을 수 있게 한다.

일렉트론 기반 애플리케이션은 하나의 "메인" 프로세스와 여러 개의 "렌더러" 프로세스를 포함한다. 메인 프로세스는 애플리케이션의 로직(예: 메뉴, 셸 명령, 생명 주기 이벤트)을 실행하며, HTML, CSS 등을 렌더링하기 위해 화면에 나타나는 창을 로드하는 BrowserWindow 클래스의 인스턴스를 생성함으로써 여러 렌더러 프로세스를 시작할 수 있다.

메인 프로세스의 nodeIntegration 필드가 true로 설정된 경우 메인 프로세스와 렌더러 프로세스 모두 Node.js 통합과 함께 실행될 수 있다.

일렉트론 API의 대부분은 C++ 또는 오브젝티브-C로 작성되었으며 자바스크립트 바인딩을 통해 애플리케이션 코드에 직접 노출된다.[11]

역사

[편집]

2021년 9월, 일렉트론은 크로미엄 익스텐디드 스테이블(Extended Stable)의 배포 주기와 일치시키고, 브라우저 기반 앱이 최신 브라우저 엔진 버전의 두 가지 주요 버전 이내에 있어야 한다는 마이크로소프트 스토어의 새로운 요구 사항을 준수하기 위해 주요 버전 간의 배포 주기를 8주로 변경했다.[12]

일렉트론은 매번 두 번째 크로미엄 배포마다 새로운 주요 버전을 자주 출시한다. 최신 안정 버전 3개는 일렉트론 팀에 의해 지원된다.[13]

버전 역사
배포상태출시일지원 종료일크로미엄 버전Node.js 버전모듈 버전N-API 버전ICU 버전
오래된 버전, 지원 중단: v1.8.x지원 종료2017년 12월 12일2018년 12월 20일598.257??
오래된 버전, 지원 중단: v2.0.x지원 종료2018년 5월 1일2019년 4월 24일618.957??
오래된 버전, 지원 중단: v3.1.x지원 종료2018년 9월 18일2019년 7월 29일6610.2643?
오래된 버전, 지원 중단: v4.2.x지원 종료2018년 12월 20일2019년 10월 22일6910.1169362.2
오래된 버전, 지원 중단: v5.1.x지원 종료2019년 4월 24일2020년 2월 4일7312.070463.1
오래된 버전, 지원 중단: v6.1.x지원 종료2019년 7월 29일2020년 5월 18일7612.473464.2
오래된 버전, 지원 중단: v7.3.x지원 종료2019년 10월 22일2020년 8월 25일7812.875464.2
오래된 버전, 지원 중단: v8.3.x지원 종료2020년 2월 4일2020년 11월 16일8012.1376565.1
오래된 버전, 지원 중단: v9.4.x지원 종료2020년 5월 18일2021년 3월 2일8312.1480565.1
오래된 버전, 지원 중단: v10.4.x지원 종료2020년 8월 25일2021년 5월 25일8512.1682565.1
오래된 버전, 지원 중단: v11.4.xEnd-of-Life2020년 11월 16일2021년 8월 30일8712.1885565.1
오래된 버전, 지원 중단: v12.0.x지원 종료2021년 3월 2일2021년 11월 15일[14]8914.1687768.1
오래된 버전, 지원 중단: v13.x.y지원 종료2021년 5월 25일2022년 1월 31일[15]9114.1689768.1
오래된 버전, 지원 중단: v14.x.y지원 종료2021년 8월 30일2022년 3월 29일[16]9214.1789869.1
오래된 버전, 지원 중단: v15.x.y지원 종료2021년 9월 21일2022년 5월 24일[17]9416.598??
오래된 버전, 지원 중단: v16.x.y지원 종료2021년 11월 15일[14]2022년 5월 24일[17]9616.999??
오래된 버전, 지원 중단: v17.x.y지원 종료2022년 2월 1일[15]2022년 8월 2일9816.13101??
오래된 버전, 지원 중단: v18.x.y지원 종료2022년 3월 29일[16]2022년 9월 26일[18]10016.13103??
오래된 버전, 지원 중단: v19.x.y지원 종료2022년 5월 24일[17]2022년 11월 29일[19]10216.14106??
오래된 버전, 지원 중단: v20.x.y지원 종료2022년 8월 2일[20]2023년 2월 7일10416.15???
오래된 버전, 지원 중단: v21.x.y지원 종료2022년 9월 26일[18]2023년 4월 4일10616.16???
오래된 버전, 지원 중단: v22.x.y지원 종료2022년 11월 30일[19]2023년 10월 10일10816.17???
오래된 버전, 지원 중단: v23.x.y지원 종료2022년 11월 30일[21]2023년 8월 15일11018.12???
오래된 버전, 지원 중단: v24.x.y지원 종료2023년 4월 4일[22]2023년 10월 10일11218.14???
오래된 버전, 지원 중단: v25.x.y지원 종료2023년 5월 30일[23]2023년 12월 5일11418.15???
오래된 버전, 지원 중단: v26.x.y지원 종료2023년 8월 15일[24]2024년 2월 20일11618.16???
오래된 버전, 지원 중단: v27.x.y지원 종료2023년 10월 10일[25]2024년 4월 16일11818.17???
오래된 버전, 지원 중단: v28.x.y지원 종료2023년 12월 5일[26]2024년 6월 11일12018.18???
오래된 버전, 지원 중단: v29.x.y지원 종료2024년 2월 20일2024년 8월 20일12220.9???
오래된 버전, 지원 중단: v30.x.y지원 종료2024년 4월 16일2024년 10월 15일12420.11???
오래된 버전, 지원 중단: v31.x.y지원 종료2024년 6월 11일2025년 1월 7일12620.14???
오래된 버전, 지원 중단: v32.x.y지원 종료2024년 8월 20일2025년 3월 4일12820.16???
오래된 버전, 지원 중단: v33.x.y지원 종료2024년 10월 15일[27]2025년 4월 29일13020.18???
오래된 버전, 지원 중단: v34.x.y지원 종료2025년 1월 14일[28]2025년 6월 24일13220.18???
오래된 버전, 지원 중단: v35.x.y지원 종료2025년 3월 4일[29]2025년 9월 2일13422.14???
오래된 버전, 지원 중단: v36.x.y지원 종료2025년 4월 29일[30]2025년 10월 28일13622.14???
오래된 버전, 지원 중단: v37.x.y지원 종료[31]2025년 6월 24일[32]2026년 1월 13일138.0.7204.25122.21.1???
오래된 버전, 지원 중단: v38.x.y지원 종료2025년 9월 2일[33]2026년 3월 10일140.0.7339.24922.21.1???
오래된 버전, 지원 중단: v39.x.y지원 종료2025년 10월 28일[34]2026년 5월 5일142.0.7444.23522.21.1???
오래된 버전, 지원 중단: v40.x.y지원 종료2026년 1월 13일[35]2026년 6월 30일144.0.7547.024.11.1???
오래된 버전, 지원 중: v41.x.y활성2026년 3월 10일[36]2026년 8월 25일146.0.7650.024.14.0???
오래된 버전, 지원 중: v42.x.y활성2026년 5월 5일[37]2026년 10월 20일148.0.7778.9624.15.0???
현재 안정화 버전: v43.x.y현재2026년 6월 30일[38]2027년 1월 5일150.0.7871.4624.17.0???
배포 예정인 버전의 미리보기 버전: v44.x.y나이틀리2026년 8월 25일[39]2027년 3월 2일149.0.7827.024.15.0???

사용 사례

[편집]

일렉트론으로 구축된 데스크톱 애플리케이션에는 아톰,[40] BalenaEtcher,[41] 디스코드, 슬랙,[42] 그리고 비주얼 스튜디오 코드가 있다.[43][44] 브레이브 브라우저는 크로미엄을 직접 사용하도록 다시 작성되기 전까지 일렉트론을 기반으로 했으며,[45] 마이크로소프트 팀즈는 2.0 버전 이전까지 일렉트론을 사용했다.[46][47]

평가

[편집]

일렉트론에 대한 가장 흔한 비판은 간단한 프로그램에 사용될 때조차 소프트웨어 블롯을 유발한다는 점이다.[48] 그 결과, 마이클 라라벨은 이 프레임워크가 "대부분의 리눅스 데스크톱 사용자들 사이에서 과도한 리소스 사용, 대부분의 데스크톱과의 열악한 통합으로 악명이 높으며 일반적으로 경멸의 대상"이라고 언급했다.[49] 연구자들은 일렉트론의 방대한 기능 세트가 소스 자바스크립트 파일에 대한 쓰기 권한을 가진 악의적인 행위자에 의해 탈취될 수 있음을 보여주었다. 이는 *nix 시스템에서 루트 권한이 필요하며, Electron 개발자들은 이를 취약점으로 간주하지 않는다.[50] 일렉트론이 항상 최신 버전의 크로미엄을 기반으로 하지는 않는다는 점을 우려하는 이들은 대안으로 프로그레시브 웹 애플리케이션을 권장하고 있다.[51]

같이 보기

[편집]

각주

[편집]
  1. electron/electron. GitHub. 2016년 8월 2일에 원본 문서에서 보존된 문서. 2018년 5월 8일에 확인함.
  2. Electron v42.4.0 Release. Electron Releases. 2026년 6월 9일. 2026년 6월 15일에 확인함.
  3. Electron v43.0.0-beta.4 Release. Electron Releases. 2026년 6월 15일. 2026년 6월 15일에 확인함.
  4. electron/LICENSE at master. GitHub. 2017년 5월 12일에 원본 문서에서 보존된 문서. 2020년 7월 3일에 확인함.
  5. 1 2 Sawicki, Kevin (2015년 4월 23일). Atom Shell is now Electron. Electron. 2017년 11월 9일에 원본 문서에서 보존된 문서. 2022년 1월 6일에 확인함.
  6. Build cross-platform desktop apps with JavaScript, HTML, and CSS | Electron. 2022년 5월 9일에 원본 문서에서 보존된 문서. 2023년 2월 1일에 확인함.
  7. Electron Internals: Using Node as a Library. electronjs.org. 2016년 8월 8일. 2017년 11월 9일에 원본 문서에서 보존된 문서. 2020년 7월 3일에 확인함.
  8. Horner, Gabriel (2015년 12월 10일). Light Table 0.8.0. lighttable.com. 2015년 12월 13일에 원본 문서에서 보존된 문서. 2020년 7월 3일에 확인함.
  9. GitHub Repository. GitHub. 2016년 2월 19일에 원본 문서에서 보존된 문서. 2019년 6월 16일에 확인함.
  10. Theia - Cloud and Desktop IDE Platform. theia-ide.org. 2018년 4월 20일에 원본 문서에서 보존된 문서. 2021년 12월 31일에 확인함.
  11. From native to JavaScript in Electron | Electron Blog. electronjs.org. 2019년 3월 19일. 2019년 4월 26일에 원본 문서에서 보존된 문서. 2019년 4월 26일에 확인함.
  12. New Electron Release Cadence | Electron. electronjs.org. 2021년 7월 14일. 2021년 7월 14일에 원본 문서에서 보존된 문서. 2022년 2월 9일에 확인함.
  13. Electron Releases | Electron (영어). electronjs.org. 2022년 12월 16일에 원본 문서에서 보존된 문서. 2022년 12월 16일에 확인함.
  14. 1 2 Release electron v16.0.0 · electron/electron. GitHub. 2021년 12월 6일에 원본 문서에서 보존된 문서. 2021년 12월 3일에 확인함.
  15. 1 2 Release electron v17.0.0 · electron/electron. GitHub. 2022년 2월 12일에 원본 문서에서 보존된 문서. 2022년 2월 28일에 확인함.
  16. 1 2 Release electron v18.0.0 · electron/electron. GitHub. 2022년 5월 4일에 원본 문서에서 보존된 문서. 2022년 5월 4일에 확인함.
  17. 1 2 3 Release electron v19.0.0 · electron/electron. GitHub. 2022년 5월 31일에 원본 문서에서 보존된 문서. 2022년 5월 31일에 확인함.
  18. 1 2 Release electron v21.0.0 · electron/electron (영어). GitHub. 2022년 12월 16일에 원본 문서에서 보존된 문서. 2022년 12월 16일에 확인함.
  19. 1 2 Release electron v22.0.0 · electron/electron (영어). GitHub. 2022년 12월 15일에 원본 문서에서 보존된 문서. 2022년 12월 16일에 확인함.
  20. Release electron v20.0.0 · electron/electron (영어). GitHub. 2022년 12월 16일에 원본 문서에서 보존된 문서. 2022년 12월 16일에 확인함.
  21. Release electron v23.0.0 · electron/electron (영어). GitHub. 2023년 9월 23일에 원본 문서에서 보존된 문서. 2023년 9월 23일에 확인함.
  22. Release electron v24.0.0 · electron/electron (영어). GitHub. 2023년 9월 23일에 원본 문서에서 보존된 문서. 2023년 9월 23일에 확인함.
  23. Release electron v25.0.0 · electron/electron (영어). GitHub. 2023년 9월 23일에 원본 문서에서 보존된 문서. 2023년 9월 23일에 확인함.
  24. Release electron v26.0.0 · electron/electron (영어). GitHub. 2023년 9월 23일에 원본 문서에서 보존된 문서. 2023년 9월 23일에 확인함.
  25. Release electron v27.0.0 · electron/electron (영어). GitHub. 2023년 10월 10일. 2023년 10월 11일에 원본 문서에서 보존된 문서. 2023년 10월 11일에 확인함.
  26. Release electron v28.0.0 · electron/electron (영어). GitHub. 2023년 12월 4일. 2023년 12월 14일에 원본 문서에서 보존된 문서. 2023년 12월 14일에 확인함.
  27. Release electron v33.0.0 · electron/electron. GitHub. 2024년 10월 14일. 2024년 12월 4일에 원본 문서에서 보존된 문서. 2024년 10월 16일에 확인함.
  28. Release electron v34.0.0 · electron/electron. GitHub. 2025년 1월 14일. 2025년 6월 10일에 원본 문서에서 보존된 문서. 2025년 5월 7일에 확인함.
  29. Release electron v35.0.0 · electron/electron. GitHub. 2025년 3월 3일. 2025년 6월 10일에 원본 문서에서 보존된 문서. 2025년 5월 7일에 확인함.
  30. Release electron v36.0.0 · electron/electron. GitHub. 2025년 4월 28일. 2025년 11월 26일에 원본 문서에서 보존된 문서. 2025년 10월 16일에 확인함.
  31. Electron 40.0.0 | Electron (영어). electronjs.org. 2026년 1월 13일. 2026년 2월 24일에 확인함.
  32. Electron v37.10.3 Release. Electron Releases. 2025년 11월 25일. 2025년 12월 16일에 원본 문서에서 보존된 문서. 2026년 1월 6일에 확인함.
  33. Electron v38.7.2 Release. Electron Releases. 2025년 11월 25일. 2025년 12월 13일에 원본 문서에서 보존된 문서. 2026년 1월 6일에 확인함.
  34. Electron v39.2.7 Release. Electron Releases. 2025년 12월 12일. 2026년 1월 6일에 확인함.
  35. Electron 40.0.0. Electron Releases. 2026년 1월 13일. 2026년 1월 6일에 확인함.
  36. v41.0.0 | Electron Releases. releases.electronjs.org. 2026년 7월 1일에 확인함.
  37. v42.0.0 | Electron Releases. releases.electronjs.org. 2026년 7월 1일에 확인함.
  38. v43.0.0 | Electron Releases. releases.electronjs.org. 2026년 7월 1일에 확인함.
  39. v44.0.0-nightly.20260507 | Electron Releases. releases.electronjs.org. 2026년 7월 1일에 확인함.
  40. Sawicki, Kevin (2015년 4월 23일). Atom Shell is now Electron. Electron. 2019년 10월 16일에 원본 문서에서 보존된 문서. 2017년 7월 15일에 확인함.
  41. Etcher on GitHub. GitHub. 2018년 11월 16일에 원본 문서에서 보존된 문서. 2020년 7월 7일에 확인함.
  42. Building hybrid applications with Electron. Several People Are Coding. 2016년 10월 25일. 2019년 10월 16일에 원본 문서에서 보존된 문서. 2017년 8월 12일에 확인함.
  43. Bright, Peter (2015년 4월 29일). Microsoft's new Code editor is built on Google's Chromium. Ars Technica. 2015년 5월 7일에 원본 문서에서 보존된 문서. 2015년 11월 18일에 확인함.
  44. Open Source project. GitHub. 2022년 3월 29일. 2015년 11월 23일에 원본 문서에서 보존된 문서. 2018년 5월 20일에 확인함.
  45. Singh, Jagmeet (2017년 1월 3일). People are now even doing machine learning in JavaScript. Open Source For U. 2017년 1월 7일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함.
  46. msdmaguire. How Microsoft Teams uses memory - Microsoft Teams (미국 영어). docs.microsoft.com. 2020년 12월 8일에 원본 문서에서 보존된 문서. 2021년 11월 12일에 확인함.
  47. Redmond, Tony (2021년 6월 25일). Teams 2.0 Moves Away from Electron to Embrace Edge WebView2. Office 365 for IT Pros. 2024년 8월 2일에 확인함.
  48. Proven, Liam (2021년 11월 19일). Some FOSS gems: Franz, RamBox, Pidgin and more. The Register. 2021년 11월 19일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함.
  49. Larabel, Michael (2019년 2월 9일). Electron Apps Are Bad, So Now You Can Create Desktop Apps With HTML5 + Golang. Phoronix. 2022년 8월 26일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함.
  50. Gallagher, Sean (2019년 8월 7일). Skype, Slack, other Electron based apps can be easily backdoored. Ars Technica. 2019년 8월 7일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함.
  51. Hoffman, Chris (2019년 8월 15일). That native app is probably just an old web browser. How To Geek. 2019년 8월 15일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함.

외부 링크

[편집]