์ค
-
์ ์ํด ์ ๊ณต ๋ด์ฅ๋ 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๋ ์ ๊ณตํฉ๋๋ค.
Electron ํ๋ซํผ์ ๊ตฌ์ถ๋ ํ๋ก๊ทธ๋จ ์ค์์ ํธ์ง์๋ฅผ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru