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

일렉트론
원저자깃허브
개발자OpenJS 재단
발표일2013년 7월 15일(11년 전)(2013-07-15)[1]
안정화 버전
33.0.0[2] 위키데이터에서 편집하기 / 2024년 10월 14일(8개월 전)(2024년 10월 14일)
미리보기 버전
28.0.0-beta.8[3] / 2023년 11월 20일(19개월 전)(2023-11-20)
저장소
프로그래밍 언어C++, 자바스크립트
운영 체제마이크로소프트 윈도우, 리눅스, macOS
플랫폼x86, x86-64, ARM
라이선스MIT 허가서[4]
웹사이트github.com/electron/electron#readme 위키데이터에서 편집하기

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

일렉트론은 원래 아톰을 위해 구축되었으며[5] 깃허브 데스크톱, 라이트 테이블,[8] 비주얼 스튜디오 코드, 워드프레스 데스크톱,[9]이클립스 테이아를 포함한 다른 여러 오픈 소스 프로젝트의 주요 GUI 프레임워크이다.[10]

아키텍처

일렉트론 애플리케이션에는 "메인" 프로세스와 여러 "렌더러" 프로세스가 포함된다. 메인 프로세스는 애플리케이션의 논리(예: 메뉴, 셸 명령, 수명 주기 이벤트)를 실행하며, HTMLCSS를 렌더링하여 화면에 나타나는 창을 로드하는 BrowserWindow 클래스의 인스턴스를 인스턴스화하여 여러 렌더러 프로세스를 시작할 수 있다.

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

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

역사

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

일렉트론은 격주로 크로미엄 릴리스와 함께 새로운 주요 버전을 자주 출시한다. 최신 세 개의 안정적인 버전은 일렉트론 팀에서 지원한다.[13]

버전 역사
릴리스 상태 릴리스 날짜 지원 종료 날짜 크로미엄 버전 Node.js 버전 모듈 버전 N-API 버전 ICU 버전
오래된 버전, 지원 중단: v1.8.x 오래된 버전, 지원 중단: 수명 종료 2017년 12월 12일 2018년 12월 20일 59 8.2 57 ? ?
오래된 버전, 지원 중단: v2.0.x 오래된 버전, 지원 중단: 수명 종료 2018년 5월 1일 2019년 4월 24일 61 8.9 57 ? ?
오래된 버전, 지원 중단: v3.1.x 오래된 버전, 지원 중단: 수명 종료 2018년 9월 18일 2019년 7월 29일 66 10.2 64 3 ?
오래된 버전, 지원 중단: v4.2.x 오래된 버전, 지원 중단: 수명 종료 2018년 12월 20일 2019년 10월 22일 69 10.11 69 3 62.2
오래된 버전, 지원 중단: v5.1.x 오래된 버전, 지원 중단: 수명 종료 2019년 4월 24일 2020년 2월 4일 73 12.0 70 4 63.1
오래된 버전, 지원 중단: v6.1.x 오래된 버전, 지원 중단: 수명 종료 2019년 7월 29일 2020년 5월 18일 76 12.4 73 4 64.2
오래된 버전, 지원 중단: v7.3.x 오래된 버전, 지원 중단: 수명 종료 2019년 10월 22일 2020년 8월 25일 78 12.8 75 4 64.2
오래된 버전, 지원 중단: v8.3.x 오래된 버전, 지원 중단: 수명 종료 2020년 2월 4일 2020년 11월 16일 80 12.13 76 5 65.1
오래된 버전, 지원 중단: v9.4.x 오래된 버전, 지원 중단: 수명 종료 2020년 5월 18일 2021년 3월 2일 83 12.14 80 5 65.1
오래된 버전, 지원 중단: v10.4.x 오래된 버전, 지원 중단: 수명 종료 2020년 8월 25일 2021년 5월 25일 85 12.16 82 5 65.1
오래된 버전, 지원 중단: v11.4.x 오래된 버전, 지원 중단: 수명 종료 2020년 11월 16일 2021년 8월 30일 87 12.18 85 5 65.1
오래된 버전, 지원 중단: v12.0.x 오래된 버전, 지원 중단: 수명 종료 2021년 3월 2일 2021년 11월 15일[14] 89 14.16 87 7 68.1
오래된 버전, 지원 중단: v13.x.y 오래된 버전, 지원 중단: 수명 종료 2021년 5월 25일 2022년 1월 31일[15] 91 14.16 89 7 68.1
오래된 버전, 지원 중단: v14.x.y 오래된 버전, 지원 중단: 수명 종료 2021년 8월 30일 2022년 3월 29일[16] 92 14.17 89 8 69.1
오래된 버전, 지원 중단: v15.x.y 오래된 버전, 지원 중단: 수명 종료 2021년 9월 21일 2022년 5월 24일[17] 94 16.5 98 ? ?
오래된 버전, 지원 중단: v16.x.y 오래된 버전, 지원 중단: 수명 종료 2021년 11월 15일[14] 2022년 5월 24일[17] 96 16.9 99 ? ?
오래된 버전, 지원 중단: v17.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 2월 1일[15] 2022년 8월 2일 98 16.13 101 ? ?
오래된 버전, 지원 중단: v18.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 3월 29일[16] 2022년 9월 26일[18] 100 16.13 103 ? ?
오래된 버전, 지원 중단: v19.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 5월 24일[17] 2022년 11월 29일[19] 102 16.14 106 ? ?
오래된 버전, 지원 중단: v20.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 8월 2일[20] 2023년 2월 7일 104 16.15 ? ? ?
오래된 버전, 지원 중단: v21.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 9월 26일[18] 2023년 4월 4일 106 16.16 ? ? ?
오래된 버전, 지원 중단: v22.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 11월 30일[19] 2023년 10월 10일 108 16.17 ? ? ?
오래된 버전, 지원 중단: v23.x.y 오래된 버전, 지원 중단: 수명 종료 2022년 11월 30일[21] 2023년 8월 15일 110 18.12 ? ? ?
오래된 버전, 지원 중단: v24.x.y 오래된 버전, 지원 중단: 수명 종료 2023년 4월 4일[22] 2023년 10월 10일 112 18.14 ? ? ?
오래된 버전, 지원 중단: v25.x.y 오래된 버전, 지원 중단: 수명 종료 2023년 5월 30일[23] 2023년 12월 5일 114 18.15 ? ? ?
오래된 버전, 지원 중단: v26.x.y 오래된 버전, 지원 중단: 수명 종료 2023년 8월 15일[24] 2024년 2월 20일 116 18.16 ? ? ?
오래된 버전, 지원 중단: v27.x.y 오래된 버전, 지원 중단: 수명 종료 2023년 10월 10일[25] 2024년 4월 16일 118 18.17 ? ? ?
오래된 버전, 지원 중단: v28.x.y 오래된 버전, 지원 중단: 수명 종료 2023년 12월 5일[26] 2024년 6월 11일 120 18.18 ? ? ?
오래된 버전, 지원 중단: v29.x.y 오래된 버전, 지원 중단: 수명 종료 2024년 2월 20일 2024년 8월 20일 122 20.9 ? ? ?
오래된 버전, 지원 중단: v30.x.y 오래된 버전, 지원 중단: 수명 종료 2024년 4월 16일 2024년 10월 15일 124 20.11 ? ? ?
오래된 버전, 지원 중단: v31.x.y 오래된 버전, 지원 중단: 수명 종료 2024년 6월 11일 2025년 1월 7일 126 20.14 ? ? ?
오래된 버전, 지원 중단: v32.x.y 오래된 버전, 지원 중단: 수명 종료 2024년 8월 20일 2025년 3월 4일 128 20.16 ? ? ?
오래된 버전, 지원 중단: v33.x.y 오래된 버전, 지원 중단: 수명 종료 2024년 10월 15일[27] 2025년 4월 29일 130 20.18 ? ? ?
오래된 버전, 지원 중: v34.x.y 오래된 버전, 지원 중: 지원 2025년 1월 14일[28] 2025년 6월 24일 132 20.18 ? ? ?
오래된 버전, 지원 중: v35.x.y 오래된 버전, 지원 중: 지원 2025년 3월 4일[29] 2025년 9월 2일 134 22.14 ? ? ?
현재 안정화 버전: v36.x.y 현재 안정화 버전: 현재 2025년 4월 29일[30] 2025년 10월 28일 136 22.14 ? ? ?
배포 예정인 버전의 미리보기 버전: v37.x.y 배포 예정인 버전의 미리보기 버전: 프리릴리스 2025년 6월 24일 (예정)[31] 2026년 1월 13일 138 TBD ? ? ?
배포 예정: v38.x.y 배포 예정: 나이틀리 TBD[32] TBD TBD TBD ? ? ?

활용

일렉트론으로 구축된 데스크톱 애플리케이션에는 아톰,[33] BalenaEtcher,[34] 디스코드, 2.0 이전의 마이크로소프트 팀즈,[35][36] 슬랙,[37] 그리고 비주얼 스튜디오 코드가 있다.[38][39] 브레이브 브라우저는 크로미엄을 직접 사용하도록 다시 작성되기 전에 일렉트론을 기반으로 했다.[40]

평가

일렉트론에 대한 가장 일반적인 비판은 간단한 프로그램에 사용될 때 소프트웨어 블롯을 초래한다는 것이다.[41] 결과적으로 마이클 라라벨은 이 프레임워크를 "대부분의 리눅스 데스크톱 사용자들 사이에서 리소스 사용량이 많고 대부분의 데스크톱과 잘 통합되지 않으며 일반적으로 경멸받는 것으로 악명 높다"고 언급했다.[42] 연구원들은 일렉트론의 광범위한 기능 세트가 소스 자바스크립트 파일에 대한 쓰기 권한을 가진 악의적인 행위자에 의해 악용될 수 있음을 보여주었다. 이는 *nix 시스템에서 루트 액세스를 필요로 하며 일렉트론 개발자들은 이를 취약점으로 간주하지 않는다.[43] 일렉트론이 항상 최신 버전의 크로미엄을 기반으로 하지 않는다는 점을 우려하는 사람들은 프로그레시브 웹 애플리케이션을 대안으로 추천했다.[44]

같이 보기

각주

  1. Earliest tagged release
  2. “Release 33.0.0”. 2024년 10월 14일. 2024년 10월 16일에 확인함. 
  3. “Release electron v28.0.0-beta.8 · electron/electron”. 《GitHub》. 2023년 11월 20일. 2023년 11월 20일에 원본 문서에서 보존된 문서. 2023년 11월 20일에 확인함. 
  4. “electron/LICENSE at master”. 《GitHub》 (영어). 2017년 4월 25일에 확인함. 
  5. 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. “Release electron v16.0.0 · electron/electron”. 《GitHub》. 2021년 12월 6일에 원본 문서에서 보존된 문서. 2021년 12월 3일에 확인함. 
  15. “Release electron v17.0.0 · electron/electron”. 《GitHub》. 2022년 2월 12일에 원본 문서에서 보존된 문서. 2022년 2월 28일에 확인함. 
  16. “Release electron v18.0.0 · electron/electron”. 《GitHub》. 2022년 5월 4일에 원본 문서에서 보존된 문서. 2022년 5월 4일에 확인함. 
  17. “Release electron v19.0.0 · electron/electron”. 《GitHub》. 2022년 5월 31일에 원본 문서에서 보존된 문서. 2022년 5월 31일에 확인함. 
  18. “Release electron v21.0.0 · electron/electron”. 《GitHub》 (영어). 2022년 12월 16일에 원본 문서에서 보존된 문서. 2022년 12월 16일에 확인함. 
  19. “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년 10월 16일에 확인함. 
  28. “Release electron v34.0.0 · electron/electron”. 《GitHub》. 2025년 1월 14일. 2025년 5월 7일에 확인함. 
  29. “Release electron v35.0.0 · electron/electron”. 《GitHub》. 2025년 3월 3일. 2025년 5월 7일에 확인함. 
  30. “Release electron v36.0.0 · electron/electron”. 《GitHub》. 2025년 4월 28일. 2025년 5월 7일에 확인함. 
  31. “Releases”. 《Electron》. 2025년 4월 21일. 2025년 5월 7일에 확인함. 
  32. “Nightly · Electron Releases”. 《Electron》. 2025년 4월 30일. 2025년 5월 7일에 확인함. 
  33. Sawicki, Kevin (2015년 4월 23일). “Atom Shell is now Electron”. 《Electron》. 2019년 10월 16일에 원본 문서에서 보존된 문서. 2017년 7월 15일에 확인함. 
  34. “Etcher on GitHub”. 《GitHub》. 2018년 11월 16일에 원본 문서에서 보존된 문서. 2020년 7월 7일에 확인함. 
  35. msdmaguire. “How Microsoft Teams uses memory - Microsoft Teams”. 《docs.microsoft.com》 (미국 영어). 2020년 12월 8일에 원본 문서에서 보존된 문서. 2021년 11월 12일에 확인함. 
  36. Redmond, Tony (2021년 6월 25일). “Teams 2.0 Moves Away from Electron to Embrace Edge WebView2”. 《Office 365 for IT Pros》. 2024년 8월 2일에 확인함. 
  37. “Building hybrid applications with Electron”. 《Several People Are Coding》. 2016년 10월 25일. 2019년 10월 16일에 원본 문서에서 보존된 문서. 2017년 8월 12일에 확인함. 
  38. Bright, Peter (2015년 4월 29일). “Microsoft's new Code editor is built on Google's Chromium”. 《아르스 테크니카》. 2015년 5월 7일에 원본 문서에서 보존된 문서. 2015년 11월 18일에 확인함. 
  39. “Open Source project”. 《GitHub》. 2022년 3월 29일. 2015년 11월 23일에 원본 문서에서 보존된 문서. 2018년 5월 20일에 확인함. 
  40. Singh, Jagmeet (2017년 1월 3일). “People are now even doing machine learning in JavaScript”. Open Source For U. 2017년 1월 7일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함. 
  41. Proven, Liam (2021년 11월 19일). “Some FOSS gems: Franz, RamBox, Pidgin and more”. The Register. 2021년 11월 19일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함. 
  42. 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일에 확인함. 
  43. Gallagher, Sean (2019년 8월 7일). “Skype, Slack, other Electron based apps can be easily backdoored”. 아르스 테크니카. 2019년 8월 7일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함. 
  44. Hoffman, Chris (2019년 8월 15일). “That native app is probably just an old web browser”. How To Geek. 2019년 8월 15일에 원본 문서에서 보존된 문서. 2022년 8월 26일에 확인함. 

외부 링크

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya