Chromium ์—”์ง„ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘์„ ์œ„ํ•œ ํ”Œ๋žซํผ์ธ Electron 8.0.0 ์ถœ์‹œ

์ค€๋น„๋œ ํ”Œ๋žซํผ ์ถœ์‹œ ์ „์ž 8.0.0๋Š” Chromium, V8 ๋ฐ Node.js ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์ค‘ ํ”Œ๋žซํผ ์‚ฌ์šฉ์ž ์ •์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ํฌํ•จ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฒ ์ด์Šค ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ์ธํ•ด ๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ํฌ๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Chromium 80, ํ”Œ๋žซํผ Node.js 12.13 ๋ฐ JavaScript ์—”์ง„ V8 8.0.

์ค‘ ๋ณ€๊ฒฝ Electron ํŠน์ • API์—์„œ:

  • ์— ์˜ํ•ด ์ œ๊ณต ๋‚ด์žฅ๋œ Chrome ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ ์–‘์‹์˜ ๋งž์ถค๋ฒ•์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ธฐ๋Šฅ
  • ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ (IPC) ๋’ค์–ฝํžŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌ์กฐํ™”๋œ ๋ณต์ œ (Structured Clone Algorithm)์€ V8 ์—”์ง„์—์„œ ๋ณต์žกํ•œ JavaScript ๊ฐœ์ฒด๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๋น„๊ตํ•˜์—ฌ ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ณ  ๋น ๋ฅด๋ฉฐ ๊ธฐ๋Šฅ์ ์ž…๋‹ˆ๋‹ค. ํฐ ๋ฒ„ํผ์™€ ๋ณต์žกํ•œ ๊ฐœ์ฒด๋ฅผ ์ด๋™ํ•  ๋•Œ ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ž‘์€ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ๋•Œ ๊ฑฐ์˜ ๋ณ€ํ•˜์ง€ ์•Š์€ ์ง€์—ฐ์œผ๋กœ ์•ฝ XNUMX๋ฐฐ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.
  • Chromium์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค๋กœ ์ „ํ™˜ํ•˜๋Š” ๋™์•ˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ํ•˜์œ„ ์‹œ์Šคํ…œ์— ๊ด€๋ฆฌ์ž๊ฐ€ ์—†์–ด ์˜คํ”„์Šคํฌ๋ฆฐ ๋ Œ๋”๋ง์— ๋Œ€ํ•œ ์ง€์›์ด ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ API ์ถ”๊ฐ€: app.getApplicationNameForProtocol(url), BrowserWindow.getMediaSourceId(), BrowserWindow.moveAbove(mediaSourceId), session.downloadURL(url), session.addWordToSpellCheckerDictionary, Tray.removeBalloon(), Tray.focus(),contents.executeJavaScriptInIsolatedWorld (worldId, ์Šคํฌ๋ฆฝํŠธ[, userGesture]).

Electron์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ทธ ๋…ผ๋ฆฌ๋Š” JavaScript, HTML ๋ฐ CSS๋กœ ์ •์˜๋˜๊ณ  ๊ธฐ๋Šฅ์€ ์ถ”๊ฐ€ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ๋ณธ ๋Œ€ํ™” ์ƒ์ž ์ƒ์„ฑ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ, ์ƒํ™ฉ์— ๋งž๋Š” ๋ฉ”๋‰ด ์ƒ์„ฑ, ์•Œ๋ฆผ ์‹œ์Šคํ…œ ํ†ตํ•ฉ, ์ฐฝ ์กฐ์ž‘, Chromium ํ•˜์œ„ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•œ ํ™•์žฅ API๋Š” ๋ฌผ๋ก  Node.js ๋ชจ๋“ˆ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋‹ฌ๋ฆฌ Electron ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์€ ๋ธŒ๋ผ์šฐ์ €์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ์ž์ฒด ํฌํ•จ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์œผ๋กœ ํฌํŒ…ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Electron์€ Chromium์ด ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ์šฉ์œผ๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Electron๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž๊ธˆ ์—…๋ฐ์ดํŠธ์˜ ์ž๋™ ์ „๋‹ฌ ๋ฐ ์„ค์น˜๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค(์—…๋ฐ์ดํŠธ๋Š” ๋ณ„๋„์˜ ์„œ๋ฒ„์—์„œ ๋˜๋Š” GitHub์—์„œ ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Œ).

Electron ํ”Œ๋žซํผ์— ๊ตฌ์ถ•๋œ ํ”„๋กœ๊ทธ๋žจ ์ค‘์—์„œ ํŽธ์ง‘์ž๋ฅผ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›์ž, ๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ ๋‹ ๋ผ์Šค, Git ์ž‘์—…์„ ์œ„ํ•œ ๋„๊ตฌ GitKraken, SQL ์ฟผ๋ฆฌ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๋Š” ์‹œ์Šคํ…œ ์™œ๊ฑด, WordPress ๋ฐ์Šคํฌํƒ‘ ๋ธ”๋กœ๊น… ์‹œ์Šคํ…œ, BitTorrent ํด๋ผ์ด์–ธํŠธ WebTorrent ๋ฐ์Šคํฌํ†ฑ, Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code ๋ฐ Discord์™€ ๊ฐ™์€ ์„œ๋น„์Šค์˜ ๊ณต์‹ ํด๋ผ์ด์–ธํŠธ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Electron ํ”„๋กœ๊ทธ๋žจ ์นดํƒˆ๋กœ๊ทธ์˜ ํ•ฉ๊ณ„ ์ œ์ถœ ๋œ ์•ฝ 850๊ฐœ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ จ์˜ ํ‘œ์ค€ ๋ฐ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€