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

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

์ƒˆ ๋ฆด๋ฆฌ์Šค์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • NativeImage.createThumbnailFromPath(path, size) ๋ฉ”์†Œ๋“œ์—์„œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ "maxSize" ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” "size"๋กœ ๋Œ€์ฒด๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ ์ƒ์„ฑ๋œ ์ธ๋„ค์ผ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๊ฐ€ ์•„๋‹Œ ์‹ค์ œ ํฌ๊ธฐ( ์ฆ‰, ํฌ๊ธฐ๊ฐ€ ๋” ์ž‘์œผ๋ฉด ํฌ๊ธฐ ์กฐ์ •์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค).
  • BrowserWindow.setTrafficLightPosition(position) ๋ฐ BrowserWindow.getTrafficLightPosition() ๋ฉ”์„œ๋“œ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ BrowserWindow.setWindowButtonPosition(position) ๋ฐ BrowserWindow.getWindowButtonPosition()์œผ๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • cookie.get() ๋ฉ”์„œ๋“œ์— HttpOnly ๋ชจ๋“œ์—์„œ ์ฟ ํ‚ค๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • logUsage ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ shell.openExternal() ๋ฉ”์†Œ๋“œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • webRequest์—๋Š” ์ด์ œ ์œ ํ˜•๋ณ„๋กœ ์š”์ฒญ์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ ์ฐฝ์„ ์—ด ์ˆ˜ ์žˆ๋„๋ก webContents์— devtools-open-url ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ ์˜ค๋””์˜ค ์ž…๋ ฅ์„ ๋กœ์ปฌ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด ses.setDisplayMediaRequestHandler() ์ฝœ๋ฐฑ ํ•ธ๋“ค๋Ÿฌ์— ํ™œ์„ฑํ™”LocalEcho ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋ชจ๋“ˆ์„ ์ปดํŒŒ์ผํ•  ๋•Œ ์–ป์€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ผ๋ฐ˜ ์ตœ์ ํ™”๊ฐ€ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

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

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

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

์ถœ์ฒ˜ : opennet.ru

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