Electron ํ๋ซํผ ๋ฆด๋ฆฌ์ค 40.0.0์ด ์ถ์๋์ด Chromium, V8 ๋ฐ Node.js ๊ตฌ์ฑ ์์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ค ํ๋ซํผ ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ์๋ฆฝํ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ ๋ฆด๋ฆฌ์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฌ๋ก๋ฏธ์ ๋ธ๋ผ์ฐ์ ์์ง, Node.js ํ๋ซํผ ๋ฐ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด 144 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค(์ด์ ๋ฒ์ ์์๋ ํฌ๋ก๋ฏธ์ 142, Node.js 22.20.0 ๋ฐ V8 14.2๋ฅผ ์ฌ์ฉํ์ต๋๋ค).
- ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ(OOM, out-of-memory) ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ "memory-eviction" ์์ ํ๋ก์ธ์ค ์ข ๋ฃ ํ๋๊ทธ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์คํ์คํฌ๋ฆฐ ๋ ๋๋ง ๋ชจ๋์์ scRGB HDR ์ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ RGBAF16 ํ์ ์ถ๋ ฅ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ๋์จ์ด ๊ฐ์์ด ํ์ฑํ๋์ด ์๋์ง ํ์ธํ๋ `app.isHardwareAccelerationEnabled()` ๋ฉ์๋๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ถ๊ฐ ํ๋กํ ์ฝ ํธ๋ค๋ฌ ํธ์ถ์ ๊ฑด๋๋ธ ์ ์๋๋ก net.request API์ bypassCustomProtocolHandlers ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฅ์ ์ธ์ ์ํ ์์ค์ ์ ํ์ ์ผ๋ก ํฌํจ์ํค๋ ๋ฐฉ๋ฒ์ ์ถ๊ฐํ์ต๋๋ค.
- ์ธ๋ถ ํ ์ค์ฒ๋ฅผ ๋น๋์ค ํ๋ ์์ ๋ํ๋ด๋ VideoFrame ๊ฐ์ฒด๋ก ๊ฐ์ ธ์ฌ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ํ๋ซํผ์์ Linux ์ด์ systemPreferences.getAccentColor ์์ฑ์ ์ฌ์ฉํ์ฌ ํ์ฑ ์์๋ฅผ ๊ฐ์กฐ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์คํ ๊ฐ์กฐ ์์๊ณผ ํ์ฑ ์ฐฝ ํ ๋๋ฆฌ ์์์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
- ํ์ฌ ์ธ์ ์ ํ์ ํ์ฌ ํ์ผ ์์คํ API์ ๋ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ์ปจํ ์คํธ ๊ฒฉ๋ฆฌ๊ฐ ๋นํ์ฑํ๋(contextIsolation = false) ์ฌ์ ๋ก๋ ์คํฌ๋ฆฝํธ์์ ESM ๋ชจ๋์ ๋์ ๋ก๋ฉ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ ๋๋ง์ ์ํํ๋ ํ๋ก์ธ์ค์์ ํด๋ฆฝ๋ณด๋ API์ ์ ๊ทผํ๋ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
Electron ํ๋ซํผ์ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ทธ๋ํฝ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ ๋ ผ๋ฆฌ๋ JavaScript, HTML ๋ฐ CSS๋ก ์ ์๋๋ฉฐ ์ถ๊ฐ ๊ธฐ๋ฅ ์์คํ ์ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ๋ํ ์์ ์์ฑ, ์ ํ๋ฆฌ์ผ์ด์ ํตํฉ, ์ํฉ์ ๋ง๋ ๋ฉ๋ด ์์ฑ, ์๋ฆผ ์์คํ ํตํฉ, ์ฐฝ ์กฐ์, Chromium ํ์ ์์คํ ๊ณผ ์ํธ ์์ฉ์ ์ํ ํ์ฅ API๋ ๋ฌผ๋ก Node.js ๋ชจ๋์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฌ๋ฆฌ Electron ๊ธฐ๋ฐ ํ๋ก๊ทธ๋จ์ ๋ธ๋ผ์ฐ์ ์ ์ข ์๋์ง ์๊ณ ์์ฒด ์คํ ํ์ผ ํํ๋ก ์ ๊ณต๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ํ๋ซํผ์ผ๋ก ์ด์ํ๋ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ต๋๋ค. Electron์ Chromium์์ ์ง์ํ๋ ๋ชจ๋ ์์คํ ์ฉ์ผ๋ก ๋น๋ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ํ Electron์ ์ ๋ฐ์ดํธ๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ๊ณ ์ค์นํ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค(์ ๋ฐ์ดํธ๋ ๋ณ๋์ ์ ์ฅ์์์ ๋ฐฐํฌํ ์ ์์ต๋๋ค). ์๋ฒ(GitHub์์ ์ง์ ๋ค์ด๋ก๋ํ ์๋ ์์ต๋๋ค.)
Electron ํ๋ซํผ์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ ์ค์๋ Atom ๋ฐ Visual Studio Code ํธ์ง๊ธฐ, Mailspring ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ, Git ์์
๋๊ตฌ์ธ GitKraken, ๊ทธ๋ฆฌ๊ณ ๋ธ๋ก๊ทธ ์์คํ
๋ฑ์ ๋ค ์ ์์ต๋๋ค. WordPress ๋ฐ์คํฌํฑ์ฉ BitTorrent ํด๋ผ์ด์ธํธ์ธ WebTorrent Desktop๊ณผ Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Discord ๋ฑ์ ๊ณต์ ํด๋ผ์ด์ธํธ๋ฅผ ํฌํจํ์ฌ Electron์ ์ํํธ์จ์ด ์นดํ๋ก๊ทธ์๋ ์ด 612๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ต๋๋ค. ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ๊ฐ์ํํ๊ธฐ ์ํด ๋ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฝ๋ ์ํ์ ํฌํจํ ์ํ ๋ฐ๋ชจ ์ ํ๋ฆฌ์ผ์ด์
์ธํธ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru
