컴퓨터 과학

Electron 개요

DevHam94 2024. 3. 15. 12:58

자바스크립트로 데스크톱 어플리케이션 만드는것 

노드(Node.js) 기반 자바스크립트, HTML, CSS만을 사용하여 데스크톱 애플리케이션을 만드는 오픈소스 프레임워크 
낮은 러닝커브
크로미움기반 프로그램. 
보이는건 데스크톱처럼 보이지만 내부적으로는 웹언어로 되어있다. 

visual studio code를 키고 help-toggle developer tools를 클릭하면 일렉트론으로 만들어진 visual code의 코드를 볼수있다. 


장점
1. 크로스플랫폼 맥, 윈도우, 리눅스가 호환된다. 세곳에서 빌드되고 동작된다. 자바의 장점인 크로스플랫폼, JVM과 같다. 
같은코드로 다른플랫폼에서 작동이 가능한다.


2. 웹언어로 개발이 가능하다. 단순히 웹언어로 native한 프로그램을 만들수있다. 


3. 데스크톱 앱으로서의 기능 (특히 파일제어 가능) node.js에서 할 수 있는 기능을 똑같이 수행가능해서 파일에대해서 자유롭게 접근가능해서 
웹언어로 파일제어가 가능해 데스크톱앱으로 사용가능하다. (visual studio code를 봐도 native언어가 아닌 일렉트론으로 작성된 앱이라고 알 수없다.) 
인터넷의 api랑 사용자가 프로그램을 몰라도 쉽게 사용할수 있는 gui를 만들어줄수있다. 
(native언어를 몰라도된다.) 


4. 작은 러닝커브와 큰 효율성. 기존의 FE 개발지식으로 쉽게 접근가능. 웹기술을 사용가능 


5. 방대한 커뮤니티 보유 

단점
1. 높은 자원 사용량 


2. 보안에취약. 사용자가 앱 소스코드를 디컴파일해서 볼 수 있다. 


3. 모바일 지원이 없다. 


Electorn 을 Javascript 로 구현하는것은 어렵지 않다.
하지만 화면을 순수 HTML 과 JS로 구현 하는건, 공수가 많이 드는 일이다.
React 나 Vue 같이 Javascript 로 화면을 제어할 수 있는 도구를 활용한다면, 쉽게 작업할 수 있을 것이다.


활용사례 
대표적으로 아톰 에디터(Atom Editor), VS코드(VisualStudio Code), 슬랙(Slack), 워드프레스(WordPress), 왓츠앱(Whats), 스카이프(Skype) 등

참고링크:
알아두면 유익한 일렉트론 - https://www.samsungsds.com/kr/insights/1239178_4627.html
Electron(프레임워크) 나무위키 - https://namu.wiki/w/Electron(%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)
왜 일렉트론을 선택했을까? - https://tech.kakao.com/2021/08/17/frontend-growth-11/
자바스크립트 만으로 데스크톱 앱 만들기 - https://chanhuiseok.github.io/posts/electron-1/
https://www.wanted.co.kr/community/post/815
https://www.youtube.com/watch?v=Krc4mHkGLqM&feature=youtu.be