상위 질문
타임라인
채팅
관점
일렉트론 (소프트웨어 프레임워크)
깃허브의 오픈 소스 기반 소프트웨어 프레임워크의 하나 위키백과, 무료 백과사전
Remove ads
일렉트론(Electron, 과거 명칭: 아톰 셸/Atom Shell[5])은 OpenJS 재단이 개발하고 유지보수하는 자유-오픈 소스 소프트웨어 프레임워크이다.[6] 이 프레임워크는 웹 기술(주로 HTML, CSS 및 자바스크립트이며, 프론트엔드 프레임워크 및 웹어셈블리와 같은 다른 기술도 가능)을 사용하여 데스크톱 애플리케이션을 만들도록 설계되었으며, 크로미엄 브라우저 엔진 버전과 Node.js 런타임 환경을 사용하는 백엔드를 사용하여 렌더링된다.[7] 또한 Node.js 서비스와의 네이티브 통합 및 프로세스 간 통신 모듈과 같은 기능을 지원하기 위해 다양한 API를 사용한다.
일렉트론은 원래 아톰을 위해 구축되었으며[5] 깃허브 데스크톱, 라이트 테이블,[8] 비주얼 스튜디오 코드, 워드프레스 데스크톱,[9] 및 이클립스 테이아를 포함한 다른 여러 오픈 소스 프로젝트의 주요 GUI 프레임워크이다.[10]
Remove ads
아키텍처
일렉트론 애플리케이션에는 "메인" 프로세스와 여러 "렌더러" 프로세스가 포함된다. 메인 프로세스는 애플리케이션의 논리(예: 메뉴, 셸 명령, 수명 주기 이벤트)를 실행하며, HTML 및 CSS를 렌더링하여 화면에 나타나는 창을 로드하는 BrowserWindow
클래스의 인스턴스를 인스턴스화하여 여러 렌더러 프로세스를 시작할 수 있다.
메인 프로세스의 nodeIntegration
필드가 true
로 설정된 경우 메인 및 렌더러 프로세스 모두 Node.js 통합으로 실행될 수 있다.
일렉트론의 대부분의 API는 C++ 또는 오브젝티브-C로 작성되었으며 자바스크립트 바인딩을 통해 애플리케이션 코드에 직접 노출된다.[11]
역사
요약
관점
2021년 9월, 일렉트론은 크로미엄 익스텐디드 스테이블의 릴리스 주기와 일치시키고 마이크로소프트 스토어의 새로운 요구 사항(브라우저 기반 앱이 브라우저 엔진의 최신 릴리스에서 두 가지 주요 버전 내에 있어야 함)을 준수하기 위해 주요 버전 간의 8주 릴리스 주기로 변경되었다.[12]
일렉트론은 격주로 크로미엄 릴리스와 함께 새로운 주요 버전을 자주 출시한다. 최신 세 개의 안정적인 버전은 일렉트론 팀에서 지원한다.[13]
Remove ads
활용
일렉트론으로 구축된 데스크톱 애플리케이션에는 아톰,[33] BalenaEtcher,[34] 디스코드, 2.0 이전의 마이크로소프트 팀즈,[35][36] 슬랙,[37] 그리고 비주얼 스튜디오 코드가 있다.[38][39] 브레이브 브라우저는 크로미엄을 직접 사용하도록 다시 작성되기 전에 일렉트론을 기반으로 했다.[40]
평가
일렉트론에 대한 가장 일반적인 비판은 간단한 프로그램에 사용될 때 소프트웨어 블롯을 초래한다는 것이다.[41] 결과적으로 마이클 라라벨은 이 프레임워크를 "대부분의 리눅스 데스크톱 사용자들 사이에서 리소스 사용량이 많고 대부분의 데스크톱과 잘 통합되지 않으며 일반적으로 경멸받는 것으로 악명 높다"고 언급했다.[42] 연구원들은 일렉트론의 광범위한 기능 세트가 소스 자바스크립트 파일에 대한 쓰기 권한을 가진 악의적인 행위자에 의해 악용될 수 있음을 보여주었다. 이는 *nix 시스템에서 루트 액세스를 필요로 하며 일렉트론 개발자들은 이를 취약점으로 간주하지 않는다.[43] 일렉트론이 항상 최신 버전의 크로미엄을 기반으로 하지 않는다는 점을 우려하는 사람들은 프로그레시브 웹 애플리케이션을 대안으로 추천했다.[44]
Remove ads
같이 보기
- 아파치 코도바
- 크로미엄 임베디드 프레임워크 (CEF)
- HTML 애플리케이션
- Qt WebEngine
- XULRunner
- 자바FX 웹뷰
- 닷넷 브라우저
- 프로그레시브 웹 애플리케이션
- Node.js
- 타우리 (소프트웨어 프레임워크)
- 플러터
- PyQt
각주
외부 링크
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads