Skip to main content

10 years of Electron ๐ŸŽ‰

ยท 20 min read

electron/electron ์ €์žฅ์†Œ์— ์ฒซ ์ปค๋ฐ‹์ด ์ด๋ฃจ์–ด์ง„ ๋‚ ์€ 2013๋…„ 3์›” 13์ผ์ด์—ˆ๋‹ค1.

@aroben์ด electron/electron์— ์ฒซ ์ปค๋ฐ‹์„ ํ•˜๋Š” ๋ชจ์Šต

10๋…„์ด ์ง€๋‚˜๊ณ , 1192๋ช…์˜ ๊ธฐ์—ฌ์ž๊ฐ€ 27,147๊ฐœ์˜ ์ปค๋ฐ‹์„ ์ถ”๊ฐ€ํ•œ ํ›„, Electron์€ ํ˜„์žฌ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ ๋งˆ์ผ์Šคํ†ค์€ ์ง€๊ธˆ๊นŒ์ง€์˜ ์—ฌ์ •์„ ๋Œ์•„๋ณด๊ณ , ๊ทธ๋™์•ˆ ๋ฐฐ์šด ๊ฒƒ์„ ๊ณต์œ ํ•˜๋ฉฐ ์ถ•ํ•˜ํ•  ์ˆ˜ ์žˆ๋Š” ์™„๋ฒฝํ•œ ๊ธฐํšŒ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์—ฌ ๊ธฐ์—ฌํ•œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์ด ์—†์—ˆ๋‹ค๋ฉด ์˜ค๋Š˜์˜ Electron์€ ์กด์žฌํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ ์ปค๋ฐ‹์ด ํ•ญ์ƒ ๊ฐ€์žฅ ๋ˆˆ์— ๋„๋Š” ๊ธฐ์—ฌ์ด์ง€๋งŒ, ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ , ์‚ฌ์šฉ์ž ๋ชจ๋“ˆ์„ ์œ ์ง€๋ณด์ˆ˜ํ•˜๋ฉฐ, ๋ฌธ์„œ์™€ ๋ฒˆ์—ญ์„ ์ œ๊ณตํ•˜๊ณ , ์˜จ๋ผ์ธ ๊ณต๊ฐ„์—์„œ Electron ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๋…ธ๋ ฅ๋„ ์ธ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ๊ธฐ์—ฌ๋Š” ์œ ์ง€๋ณด์ˆ˜์ž๋กœ์„œ ์šฐ๋ฆฌ์—๊ฒŒ ๊ท€์ค‘ํ•˜๋‹ค.

์ด ๊ธ€์„ ๊ณ„์†ํ•˜๊ธฐ ์ „์—: ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. โค๏ธ

์šฐ๋ฆฌ๊ฐ€ ์—ฌ๊ธฐ๊นŒ์ง€ ์˜จ ์—ฌ์ •โ€‹

Atom Shell์€ GitHub์˜ Atom ์—๋””ํ„ฐ๋ฅผ ์œ„ํ•œ ํ•ต์‹ฌ ๊ธฐ์ˆ ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค. 2014๋…„ 4์›” ๊ณต๊ฐœ ๋ฒ ํƒ€๋กœ ์ถœ์‹œ๋œ Atom ์—๋””ํ„ฐ๋Š” ๋‹น์‹œ ์›น ๊ธฐ๋ฐ˜ ๋ฐ์Šคํฌํ†ฑ ํ”„๋ ˆ์ž„์›Œํฌ(node-webkit๊ณผ Chromium Embedded Framework)์˜ ๋Œ€์•ˆ์œผ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กญ๊ฒŒ ๊ตฌ์ถ•๋˜์—ˆ๋‹ค. Atom Shell์˜ ์ฃผ์š” ํŠน์ง•์€ Node.js์™€ Chromium์„ ๋‚ด์žฅํ•ด ์›น ๊ธฐ์ˆ ์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐํƒ€์ž„์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ถœ์‹œ ํ›„ 1๋…„๋„ ์ฑ„ ๋˜์ง€ ์•Š์•„ Atom Shell์€ ๊ธฐ๋Šฅ๊ณผ ์ธ๊ธฐ ๋ฉด์—์„œ ๊ธ‰๊ฒฉํ•œ ์„ฑ์žฅ์„ ์ด๋ฃจ์—ˆ๋‹ค. ๋Œ€๊ธฐ์—…, ์Šคํƒ€ํŠธ์—…, ๊ฐœ์ธ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ชจ๋‘ ์ด ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•ด ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , Slack, GitKraken, WebTorrent ๋“ฑ์ด ์ดˆ๊ธฐ ์‚ฌ์šฉ์ž๋กœ ํฌํ•จ๋˜์—ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” Electron์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์žฌํƒ„์ƒํ–ˆ๋‹ค.

๊ทธ ์ดํ›„๋กœ Electron์€ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๋ฉฐ ๋ฉˆ์ถ”์ง€ ์•Š์•˜๋‹ค. npmtrends.com์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ์ฃผ๊ฐ„ ๋‹ค์šด๋กœ๋“œ ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

Electron weekly downloads graph over time

Electron v1์€ 2016๋…„์— ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, API ์•ˆ์ •์„ฑ ๊ฐ•ํ™”์™€ ๋” ๋‚˜์€ ๋ฌธ์„œ ๋ฐ ๋„๊ตฌ ์ œ๊ณต์„ ์•ฝ์†ํ–ˆ๋‹ค. Electron v2๋Š” 2018๋…„์— ์ถœ์‹œ๋˜๋ฉฐ ์‹œ๋งจํ‹ฑ ๋ฒ„์ €๋‹์„ ๋„์ž…ํ•ด ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค.

Electron v6๋ถ€ํ„ฐ๋Š” Chromium์˜ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์— ๋งž์ถฐ 12์ฃผ ๋‹จ์œ„์˜ ์ •๊ธฐ์ ์ธ ๋ฉ”์ด์ € ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋กœ ์ „ํ™˜ํ–ˆ๋‹ค. ์ด ๊ฒฐ์ •์€ ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ๊ณ ๋ฐฉ์‹ ๋ณ€ํ™”๋ฅผ ์˜๋ฏธํ–ˆ์œผ๋ฉฐ, "์ตœ์‹  Chromium ๋ฒ„์ „ ์œ ์ง€"๋ฅผ ์„ ํƒ ์‚ฌํ•ญ์—์„œ ์šฐ์„ ์ˆœ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ ธ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ„ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ค„์ด๊ณ , Electron์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์›Œ์กŒ๋‹ค.

๊ทธ ์ดํ›„๋กœ Electron์€ ์ž˜ ์ •๋น„๋œ ๊ธฐ๊ณ„์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋ฉฐ, Chromium ์•ˆ์ • ๋ฒ„์ „์ด ์ถœ์‹œ๋˜๋Š” ๋‚ ๋งˆ๋‹ค ์ƒˆ๋กœ์šด Electron ๋ฒ„์ „์„ ๋ฆด๋ฆฌ์Šคํ–ˆ๋‹ค. 2021๋…„ Chromium์ด ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋ฅผ 4์ฃผ๋กœ ๋‹จ์ถ•ํ–ˆ์„ ๋•Œ, Electron๋„ ์–ด๊นจ๋ฅผ ์œผ์“ฑํ•˜๋ฉฐ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋ฅผ 8์ฃผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ˜„์žฌ Electron v23(๊ทธ ์ด์ƒ)๊นŒ์ง€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ์—ฌ์ „ํžˆ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ๊ณ ์˜ ๋Ÿฐํƒ€์ž„์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค. ์ตœ๊ทผ ๋ช‡ ๋…„๊ฐ„ JavaScript ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , Electron์€ ๋ฐ์Šคํฌํ†ฑ ์•ฑ ํ”„๋ ˆ์ž„์›Œํฌ ๋ถ„์•ผ์—์„œ ์•ˆ์ •์ ์ด๊ณ  ๊ฒ€์ฆ๋œ ๊ฐ•์ž๋กœ ์ž๋ฆฌ ์žก์•˜๋‹ค. ์ด์ œ Electron ์•ฑ์€ ์–ด๋””์„œ๋‚˜ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค: Visual Studio Code๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ณ , Figma๋กœ ๋””์ž์ธํ•˜๊ณ , Slack์œผ๋กœ ์†Œํ†ตํ•˜๊ณ , Notion์œผ๋กœ ๋ฉ”๋ชจ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ์šฉ๋„๋กœ ํ™œ์šฉ๋œ๋‹ค. ์ด ์„ฑ๊ณผ๋ฅผ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ ๋ชจ๋“  ์ด๋“ค์—๊ฒŒ ๊นŠ์€ ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•œ๋‹ค.

์—ฌ์ •์—์„œ ๋ฐฐ์šด ๊ฒƒ๋“คโ€‹

10๋…„์ด๋ผ๋Š” ์‹œ๊ฐ„ ๋™์•ˆ ์šฐ๋ฆฌ๋Š” ๊ธธ๊ณ ๋„ ๋ณต์žกํ•œ ์—ฌ์ •์„ ๊ฑธ์–ด์™”๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋Œ€๊ทœ๋ชจ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์† ๊ฐ€๋Šฅํ•˜๊ฒŒ ์šด์˜ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋œ ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์š”์†Œ๋ฅผ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋ธ๋กœ ํ™•์žฅ๋œ ๋ถ„์‚ฐ ์˜์‚ฌ๊ฒฐ์ • ๊ด€๋ฆฌโ€‹

Electron์ด ์ฒ˜์Œ์œผ๋กœ ์ธ๊ธฐ๋ฅผ ๋Œ๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ, ์šฐ๋ฆฌ๊ฐ€ ๊ทน๋ณตํ•ด์•ผ ํ–ˆ๋˜ ๊ณผ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ์žฅ๊ธฐ์ ์ธ ๋ฐฉํ–ฅ์„ฑ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ• ์ง€์˜€๋‹ค. ์—ฌ๋Ÿฌ ํšŒ์‚ฌ์™€ ๊ตญ๊ฐ€, ์‹œ๊ฐ„๋Œ€์— ๊ฑธ์ณ ๋ถ„์‚ฐ๋œ ์ˆ˜์‹ญ ๋ช…์˜ ์—”์ง€๋‹ˆ์–ด๋กœ ๊ตฌ์„ฑ๋œ ํŒ€์„ ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

์ดˆ๊ธฐ์—๋Š” Electron์˜ ๋ฉ”์ธํ…Œ์ด๋„ˆ ๊ทธ๋ฃน์ด ๋น„๊ณต์‹์ ์ธ ํ˜‘์—… ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์ž‘์€ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋น ๋ฅด๊ณ  ๊ฐ€๋ณ๊ฒŒ ๋™์ž‘ํ•˜์ง€๋งŒ, ๋” ๋„“์€ ํ˜‘์—…์œผ๋กœ ํ™•์žฅํ•˜๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๋‹ค. 2019๋…„, ์šฐ๋ฆฌ๋Š” ๊ณต์‹์ ์ธ ์ฑ…์ž„ ์˜์—ญ์„ ๊ฐ€์ง„ ๋‹ค์–‘ํ•œ ์ž‘์—… ๊ทธ๋ฃน(Working Group, WG)์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ–ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ ์†Œ์œ ๊ถŒ์˜ ์ผ๋ถ€๋ฅผ ํŠน์ • ๋ฉ”์ธํ…Œ์ด๋„ˆ์—๊ฒŒ ํ• ๋‹นํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ–ˆ๋‹ค. ํ˜„์žฌ ๊ฐ ์ž‘์—… ๊ทธ๋ฃน์˜ ์ฑ…์ž„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

  • Electron ๋ฆด๋ฆฌ์ฆˆ ๊ด€๋ฆฌ (Releases WG)
  • Chromium๊ณผ Node.js ์—…๊ทธ๋ ˆ์ด๋“œ (Upgrades WG)
  • ๊ณต๊ฐœ API ์„ค๊ณ„ ๊ฐ๋… (API WG)
  • Electron ๋ณด์•ˆ ์œ ์ง€ (Security WG)
  • ์›น์‚ฌ์ดํŠธ, ๋ฌธ์„œ, ๋„๊ตฌ ๊ด€๋ฆฌ (Ecosystem WG)
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ ๊ธฐ์—… ์™ธ๋ถ€ ์—ฐ๊ณ„ (Outreach WG)
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทœ์ œ (Community & Safety WG)
  • ๋นŒ๋“œ ์ธํ”„๋ผ, ๋ฉ”์ธํ…Œ์ด๋„ˆ ๋„๊ตฌ, ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์œ ์ง€ (Infrastructure WG)

์šฐ๋ฆฌ๊ฐ€ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ•œ ์‹œ๊ธฐ์™€ ๊ฑฐ์˜ ๋™์‹œ์—, Electron์˜ ์†Œ์œ ๊ถŒ๋„ GitHub์—์„œ OpenJS Foundation์œผ๋กœ ์ด์ „ํ–ˆ๋‹ค. ์›๋ž˜์˜ ์ฝ”์–ด ํŒ€์€ ์—ฌ์ „ํžˆ Microsoft์—์„œ ๊ทผ๋ฌดํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์ด์ œ๋Š” Electron ๊ฑฐ๋ฒ„๋„Œ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋” ํฐ ํ˜‘๋ ฅ์ž ๊ทธ๋ฃน์˜ ์ผ๋ถ€์ผ ๋ฟ์ด๋‹ค.2

์ด ๋ชจ๋ธ์ด ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ์ „ ์„ธ๊ณ„์ ์ธ ํŒฌ๋ฐ๋ฏน๊ณผ ์ง€์†์ ์ธ ๊ฑฐ์‹œ๊ฒฝ์ œ์  ์–ด๋ ค์›€ ์†์—์„œ๋„ ์šฐ๋ฆฌ์—๊ฒŒ ์ž˜ ๋งž์•„์™”๋‹ค. ์•ž์œผ๋กœ ์šฐ๋ฆฌ๋Š” Electron์˜ ๋‘ ๋ฒˆ์งธ 10๋…„์„ ์ด๋Œ์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๊ฑฐ๋ฒ„๋„Œ์Šค ํ—Œ์žฅ์„ ๊ฐœ์„ ํ•  ๊ณ„ํš์ด๋‹ค.

info

๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด electron/governance ์ €์žฅ์†Œ๋ฅผ ํ™•์ธํ•ด ๋ณด์ž!

์ปค๋ฎค๋‹ˆํ‹ฐโ€‹

์˜คํ”ˆ์†Œ์Šค์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ถ€๋ถ„์€ ์‰ฝ์ง€ ์•Š๋‹ค. ํŠนํžˆ ์•„์›ƒ๋ฆฌ์น˜ ํŒ€์ด '์ปค๋ฎค๋‹ˆํ‹ฐ ๋งค๋‹ˆ์ €'๋ผ๋Š” ์ด๋ฆ„์˜ ํŠธ๋ Œ์น˜์ฝ”ํŠธ๋ฅผ ์ž…์€ ์†Œ์ˆ˜์˜ ์—”์ง€๋‹ˆ์–ด๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์„ ๋•Œ๋Š” ๋”์šฑ ๊ทธ๋ ‡๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋กœ์„œ ์šฐ๋ฆฌ๋Š” ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋“ค์˜ ์—๋„ˆ์ง€๋ฅผ ํ™œ์šฉํ•ด Electron์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ค‘์‹ฌ์˜ ์ƒํƒœ๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์˜ ๊ฑด๊ฐ•์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ์กด์žฌ๊ฐ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์ด๊ณ  ์žˆ์„๊นŒ?

๊ฐ€์ƒ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์ถ•โ€‹

  • 2020๋…„์— ์šฐ๋ฆฌ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๋””์Šค์ฝ”๋“œ ์„œ๋ฒ„๋ฅผ ์ถœ์‹œํ–ˆ๋‹ค. ์ด์ „์—๋Š” Atom ํฌ๋Ÿผ์˜ ํ•œ ์„น์…˜์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ๋” ๋น„๊ณต์‹์ ์ธ ๋ฉ”์‹œ์ง• ํ”Œ๋žซํผ์„ ํ†ตํ•ด ๊ด€๋ฆฌ์ž์™€ Electron ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ํ† ๋ก  ๊ณต๊ฐ„์„ ๋งˆ๋ จํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ๋””๋ฒ„๊น… ๋„์›€์„ ์ œ๊ณตํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.
  • 2021๋…„์—๋Š” @BlackHole1์˜ ๋„์›€์œผ๋กœ Electron China ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์„ ์„ค๋ฆฝํ–ˆ๋‹ค. ์ด ๊ทธ๋ฃน์€ ์ค‘๊ตญ์˜ ๊ธ‰์„ฑ์žฅํ•˜๋Š” ๊ธฐ์ˆ  ํ™˜๊ฒฝ์—์„œ Electron ์‚ฌ์šฉ์ž ์ฆ๊ฐ€์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ–ˆ๋‹ค. ์ค‘๊ตญ ์‚ฌ์šฉ์ž๋“ค์ด ์•„์ด๋””์–ด๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์˜์–ด ๊ณต๊ฐ„ ์™ธ์—์„œ Electron์— ๋Œ€ํ•ด ๋…ผ์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ ์ œ๊ณตํ–ˆ๋‹ค. ๋˜ํ•œ cnpm์ด ์ค‘๊ตญ npm ๋ฏธ๋Ÿฌ์—์„œ Electron์˜ ๋‚˜์ดํ‹€๋ฆฌ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ง€์›ํ•œ ๋…ธ๋ ฅ์— ๊ฐ์‚ฌ๋“œ๋ฆฐ๋‹ค.

์ฃผ๋ชฉ๋ฐ›๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ์— ์ฐธ์—ฌํ•˜๊ธฐโ€‹

  • ์šฐ๋ฆฌ๋Š” 2019๋…„๋ถ€ํ„ฐ ๋งค๋…„ Hacktoberfest๋ฅผ ๊ธฐ๋…ํ•ด ์™”๋‹ค. Hacktoberfest๋Š” DigitalOcean์ด ์ฃผ๊ด€ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์—ฐ๋ก€ ํ–‰์‚ฌ๋กœ, ๋งค๋…„ ์ˆ˜์‹ญ ๋ช…์˜ ์—ด์ •์ ์ธ ๊ธฐ์—ฌ์ž๋“ค์ด ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์— ์ž์‹ ์˜ ํ”์ ์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด ์ฐธ์—ฌํ•œ๋‹ค.

  • 2020๋…„์—๋Š” Google Season of Docs์˜ ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์— ์ฐธ์—ฌํ–ˆ์œผ๋ฉฐ, @bandantonio์™€ ํ•จ๊ป˜ Electron์˜ ์‹ ๊ทœ ์‚ฌ์šฉ์ž ํŠœํ† ๋ฆฌ์–ผ ํ๋ฆ„์„ ๊ฐœ์„ ํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

  • 2022๋…„์—๋Š” ์ฒ˜์Œ์œผ๋กœ Google Summer of Code ํ•™์ƒ์„ ๋ฉ˜ํ† ๋งํ–ˆ๋‹ค. @aryanshridhar๋Š” Electron Fiddle์˜ ํ•ต์‹ฌ ๋ฒ„์ „ ๋กœ๋”ฉ ๋กœ์ง์„ ๋ฆฌํŒฉํ† ๋งํ•˜๊ณ , ๋ฒˆ๋“ค๋Ÿฌ๋ฅผ webpack๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ํ›Œ๋ฅญํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์„ ์ž๋™ํ™”ํ•˜์ž!โ€‹

ํ˜„์žฌ Electron ํ”„๋กœ์ ํŠธ์—๋Š” ์•ฝ 30๋ช…์˜ ํ™œ๋ฐœํ•œ ๋ฉ”์ธํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋‹ค. ์ด ์ค‘ ์ ˆ๋ฐ˜ ๋ฏธ๋งŒ์ด ํ’€ํƒ€์ž„ ๊ธฐ์—ฌ์ž์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ž‘์—…์ด ์ƒ๋‹นํžˆ ๋งŽ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์›ํ™œํ•˜๊ฒŒ ๋Œ์•„๊ฐ€๋„๋ก ์œ ์ง€ํ•˜๋Š” ๋น„๊ฒฐ์€ ๋ฌด์—‡์ผ๊นŒ? ์šฐ๋ฆฌ์˜ ๋ชจํ† ๋Š” "์ปดํ“จํ„ฐ๋Š” ์ €๋ ดํ•˜์ง€๋งŒ, ์ธ๊ฐ„์˜ ์‹œ๊ฐ„์€ ๋น„์‹ธ๋‹ค"์ด๋‹ค. ์ „ํ˜•์ ์ธ ์—”์ง€๋‹ˆ์–ด์˜ ๋ฐฉ์‹๋Œ€๋กœ, ์šฐ๋ฆฌ๋Š” ์ž‘์—…์„ ๋” ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์ž๋™ํ™” ์ง€์› ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ–ˆ๋‹ค.

Electron์˜ ํ•ต์‹ฌ ์ฝ”๋“œ๋ฒ ์ด์Šค๋Š” C++๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฑฐ๋Œ€ํ•œ ๊ทœ๋ชจ๋ฅผ ์ž๋ž‘ํ•˜๋ฉฐ, ๋นŒ๋“œ ์‹œ๊ฐ„์€ ๋ฒ„๊ทธ ์ˆ˜์ •๊ณผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ํ•ญ์ƒ ๊ฑธ๋ฆผ๋Œ์ด์—ˆ๋‹ค. 2020๋…„, ์šฐ๋ฆฌ๋Š” Google์˜ ๋ถ„์‚ฐ ์ปดํŒŒ์ผ๋Ÿฌ ์„œ๋น„์Šค์ธ Goma์„ ์œ„ํ•œ ์ปค์Šคํ…€ ๋ฐฑ์—”๋“œ์ธ Not Goma์„ ๋ฐฐํฌํ–ˆ๋‹ค. Not Goma๋Š” ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์˜ ๋จธ์‹ ์—์„œ ์ปดํŒŒ์ผ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ด๋ฅผ ๋ฐฑ์—”๋“œ์˜ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ์ฝ”์–ด์— ๋ถ„์‚ฐ์‹œํ‚จ๋‹ค. ๋˜ํ•œ ์ปดํŒŒ์ผ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•˜์—ฌ ๋™์ผํ•œ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๊ฒฐ๊ณผ๋งŒ ๋‹ค์šด๋กœ๋“œํ•˜๋ฉด ๋˜๋„๋ก ํ•œ๋‹ค.

Not Goma๋ฅผ ๋„์ž…ํ•œ ์ดํ›„, ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค์˜ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์€ ๋ช‡ ์‹œ๊ฐ„์—์„œ ๋ช‡ ๋ถ„์œผ๋กœ ํฌ๊ฒŒ ๋‹จ์ถ•๋˜์—ˆ๋‹ค. ์ด์ œ๋Š” ์•ˆ์ •์ ์ธ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ๋งŒ ์žˆ์œผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ Electron์„ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค!

info

์˜คํ”ˆ์†Œ์Šค ๊ธฐ์—ฌ์ž๋ผ๋ฉด Electron Build Tools๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” Not Goma์˜ ์ฝ๊ธฐ ์ „์šฉ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ง€์†์  ์ธ์ฆ(Continuous Factor Authentication)โ€‹

์ง€์†์  ์ธ์ฆ(CFA)์€ npm์˜ 2๋‹จ๊ณ„ ์ธ์ฆ(2FA) ์‹œ์Šคํ…œ์„ ์ž๋™ํ™”ํ•œ ๋ ˆ์ด์–ด๋กœ, semantic-release์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ @electron/ npm ํŒจํ‚ค์ง€์˜ ์•ˆ์ „ํ•˜๊ณ  ์ž๋™ํ™”๋œ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

semantic-release๋Š” ์ด๋ฏธ npm ํŒจํ‚ค์ง€ ๋ฐฐํฌ ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜์ง€๋งŒ, 2๋‹จ๊ณ„ ์ธ์ฆ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ์ด ์ œํ•œ์„ ์šฐํšŒํ•˜๋Š” ๋น„๋ฐ€ ํ† ํฐ์„ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค.

CFA๋Š” npm 2FA๋ฅผ ์œ„ํ•œ ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ์ผํšŒ์šฉ ๋น„๋ฐ€๋ฒˆํ˜ธ(TOTP)๋ฅผ ์ž„์˜์˜ CI ์ž‘์—…์— ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด semantic-release์˜ ์ž๋™ํ™” ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด์„œ๋„ 2๋‹จ๊ณ„ ์ธ์ฆ์˜ ์ถ”๊ฐ€ ๋ณด์•ˆ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

CFA๋Š” Slack ํ†ตํ•ฉ ํ”„๋ก ํŠธ์—”๋“œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋ฉฐ, ์œ ์ง€ ๊ด€๋ฆฌ์ž๋Š” TOTP ์ƒ์„ฑ๊ธฐ๊ฐ€ ์žˆ๋Š” ํ•œ Slack์ด ์„ค์น˜๋œ ๋ชจ๋“  ๊ธฐ๊ธฐ์—์„œ ํŒจํ‚ค์ง€ ๋ฐฐํฌ๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.

info

CFA๋ฅผ ์ง์ ‘ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด, GitHub ์ €์žฅ์†Œ๋‚˜ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด๋ณด์ž. CircleCI๋ฅผ CI ํ”„๋กœ๋ฐ”์ด๋”๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, CFA๋ฅผ ๋น ๋ฅด๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ๋ฆฌํ•œ orb๋„ ์ œ๊ณตํ•œ๋‹ค.

Sheriffโ€‹

Sheriff๋Š” GitHub, Slack, Google Workspace์˜ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ๋‹ค.

Sheriff์˜ ํ•ต์‹ฌ ๊ฐ€์น˜๋Š” ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ํˆฌ๋ช…ํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ๋งŒ๋“œ๋Š” ๋ฐ ์žˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ๋‹จ์ผ YAML ์„ค์ • ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด ์œ„์— ์–ธ๊ธ‰ํ•œ ๋ชจ๋“  ์„œ๋น„์Šค์˜ ๊ถŒํ•œ์„ ์ง€์ •ํ•œ๋‹ค. Sheriff๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ˜‘๋ ฅ์ž๋กœ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด PR์„ ์Šน์ธํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ๋งŒํผ ๊ฐ„๋‹จํ•ด์ง„๋‹ค.

๋˜ํ•œ Sheriff๋Š” Slack์— ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ์ „์†กํ•ด Electron ์กฐ์ง ๋‚ด์—์„œ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ™œ๋™์ด ๋ฐœ์ƒํ•  ๋•Œ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋‚ธ๋‹ค.

GitHub๋Š” ํ’๋ถ€ํ•œ API ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ณต์‹์ ์ธ ๋ด‡ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ธ Probot์„ ์ง€์›ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋” ์ฐฝ์˜์ ์ธ ์—…๋ฌด์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋‹ค์–‘ํ•œ ์ž‘์€ ๋ด‡๋“ค์„ ๊ฐœ๋ฐœํ•ด ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ–ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด์ž:

  • Sudowoodo๋Š” Electron ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ž๋™ํ™”ํ•œ๋‹ค. ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ , ๋ฆด๋ฆฌ์Šค ์ž์‚ฐ์„ GitHub์™€ npm์— ์—…๋กœ๋“œํ•˜๋Š” ์ž‘์—…์„ ํฌํ•จํ•œ๋‹ค.
  • Trop์€ Electron์˜ ๋ฐฑํฌํŠธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•œ๋‹ค. GitHub PR ๋ ˆ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด์ „ ๋ฆด๋ฆฌ์Šค ๋ธŒ๋žœ์น˜์— ํŒจ์น˜๋ฅผ ์ ์šฉํ•œ๋‹ค.
  • Roller๋Š” Electron์˜ Chromium๊ณผ Node.js ์˜์กด์„ฑ์„ ์ž๋™์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค.
  • Cation์€ electron/electron PR์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ด‡์ด๋‹ค.

์ด๋Ÿฌํ•œ ๋ด‡๋“ค์€ ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œ์ผฐ๋‹ค. ์ž‘์€ ๋ด‡๋“ค์ด ๋ชจ์—ฌ ํฐ ํšจ์œจ์„ ๋งŒ๋“ค์–ด๋‚ธ ์…ˆ์ด๋‹ค.

์•ž์œผ๋กœ์˜ ๊ณ„ํšโ€‹

Electron ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‘ ๋ฒˆ์งธ 10๋…„์„ ๋งž์ดํ•œ ์ง€๊ธˆ, ์—ฌ๋Ÿฌ๋ถ„์€ Electron์˜ ๋ฏธ๋ž˜๊ฐ€ ์–ด๋–ป๊ฒŒ ํŽผ์ณ์งˆ์ง€ ๊ถ๊ธˆํ•  ๊ฒƒ์ด๋‹ค.

์šฐ๋ฆฌ๋Š” Chromium์˜ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์— ๋งž์ถฐ Electron์˜ ์ƒˆ๋กœ์šด ์ฃผ์š” ๋ฒ„์ „์„ 8์ฃผ๋งˆ๋‹ค ์ถœ์‹œํ•  ๊ณ„ํš์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›น ํ”Œ๋žซํผ๊ณผ Node.js์˜ ์ตœ์‹  ๊ธฐ์ˆ ์„ Electron ํ”„๋ ˆ์ž„์›Œํฌ์— ๋ฐ˜์˜ํ•˜๋ฉด์„œ๋„, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ์•ˆ์ •์„ฑ๊ณผ ๋ณด์•ˆ์„ ์œ ์ง€ํ•  ๊ฒƒ์ด๋‹ค.

๊ตฌ์ฒด์ ์ธ ๊ณ„ํš์ด ํ™•์ •๋˜๋ฉด, ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ๊ณต์‹์ ์œผ๋กœ ๋ฐœํ‘œํ•  ์˜ˆ์ •์ด๋‹ค. ์•ž์œผ๋กœ์˜ ๋ฆด๋ฆฌ์Šค, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ๋ฐ›์•„๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด Electron ๋ธ”๋กœ๊ทธ๋ฅผ ์ฝ๊ฑฐ๋‚˜, ์†Œ์…œ ๋ฏธ๋””์–ด ํ”„๋กœํ•„(Twitter ๋ฐ Mastodon)์„ ํŒ”๋กœ์šฐํ•˜๋ฉด ๋œ๋‹ค.

Footnotesโ€‹

  1. ์ด๋Š” ์‚ฌ์‹ค electron-archive/brightray ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์ด๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” 2017๋…„ Electron์— ํ†ตํ•ฉ๋˜์—ˆ๊ณ , Git ๊ธฐ๋ก๋„ ๋ณ‘ํ•ฉ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ˆ„๊ฐ€ ์ˆซ์ž๋ฅผ ์„ธ๊ฒ ๋Š”๊ฐ€? ์˜ค๋Š˜์€ ์šฐ๋ฆฌ์˜ ์ƒ์ผ์ด๋‹ˆ, ์šฐ๋ฆฌ๋งŒ์˜ ๊ทœ์น™์„ ๋งŒ๋“ค๊ฒ ๋‹ค! โ†ฉ

  2. ํ”ํžˆ ์•Œ๋ ค์ง„ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, Electron์€ ๋” ์ด์ƒ GitHub์ด๋‚˜ Microsoft ์†Œ์œ ๊ฐ€ ์•„๋‹ˆ๋ฉฐ, ํ˜„์žฌ๋Š” OpenJS Foundation์˜ ์ผ๋ถ€์ด๋‹ค. โ†ฉ