GTK ํ๋ซํผ์ฉ WebKit ๋ธ๋ผ์ฐ์ ์์ง์ ํฌํธ์ธ ์๋ก์ด ์์ ๋ธ๋์น WebKitGTK 2.40.0์ ์ถ์๊ฐ ๋ฐํ๋์์ต๋๋ค. WebKitGTK๋ฅผ ์ฌ์ฉํ๋ฉด GObject ๊ธฐ๋ฐ์ GNOME ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค๋ฅผ ํตํด WebKit์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ํน์ HTML/CSS ํ์ ์ฌ์ฉ๋ถํฐ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์น ๋ธ๋ผ์ฐ์ ์์ฑ์ ์ด๋ฅด๊ธฐ๊น์ง ์น ์ฝํ ์ธ ์ฒ๋ฆฌ ๋๊ตฌ๋ฅผ ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ํตํฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. WebKitGTK๋ฅผ ์ฌ์ฉํ๋ ์ ์๋ ค์ง ํ๋ก์ ํธ ์ค์์ ํ์ค GNOME ๋ธ๋ผ์ฐ์ (Epiphany)๋ฅผ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค. ์ด์ ์๋ Midori ๋ธ๋ผ์ฐ์ ์์ WebKitGTK๋ฅผ ์ฌ์ฉํ์ง๋ง ํ๋ก์ ํธ๊ฐ Astian Foundation์ ์์ ๋์ด๊ฐ ํ WebKitGTK์ ์ด์ ๋ฒ์ Midori๋ ํ๊ธฐ๋๊ณ Wexond ๋ธ๋ผ์ฐ์ ์์ ํฌํฌ๋ฅผ ์์ฑํจ์ผ๋ก์จ ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅธ ์ ํ์ด ๋ง๋ค์ด์ก์ต๋๋ค. ์ด๋ฆ์ Midori์ ๋์ผํ์ง๋ง Electron ๋ฐ React ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- GTK4 API ์ง์์ด ์์ ํ๋์์ต๋๋ค.
- WebGL2 ์ง์์ด ํฌํจ๋์์ต๋๋ค. WebGL ๊ตฌํ์์๋ OpenGL ES ํธ์ถ์ OpenGL, Direct3D 9/11, Desktop GL ๋ฐ Vulkan์ผ๋ก ๋ณํํ๋ ANGLE ๋ ์ด์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- GLX ๋์ EGL์ ์ฃผ๋ก ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
- Flite๋ฅผ ์ฌ์ฉํ ์์ฑ ํฉ์ฑ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํด๋ฆฝ๋ณด๋ ๊ด๋ฆฌ API๊ฐ ํ์ฑํ๋์ด ์์ผ๋ฉฐ ๋น๋๊ธฐ ๋ชจ๋์์ ์๋ํฉ๋๋ค.
- ํน์ ์น ๊ธฐ๋ฅ์ ๋ํ ๊ถํ์ ์์ฒญํ๋ API๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ ๋ฉ์์ง์์ ๊ฐ์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐํํ๊ธฐ ์ํ API๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ๋น๋๊ธฐ ๋ชจ๋์์ WebKitDownload::decide-destination ์ ํธ ์ฒ๋ฆฌ๋ฅผ ํ์ฑํํ์ต๋๋ค.
- JavaScript ์คํ์ ์ํ ์๋ก์ด API๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- webkit://gpu ์ถ๋ ฅ์ JSON ํ์์ผ๋ก ๋ด๋ณด๋ด๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์์ต๋๋ค.
- ์ฝํ ์ธ ๋ก๋ฉ ์ ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
GNOME Web 2.40.0(Epiphany) ๋ธ๋ผ์ฐ์ ๋ฆด๋ฆฌ์ค๋ WebKitGTK 44์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- GTK 4 ๋ฐ libadwaita ์ฌ์ฉ์ผ๋ก์ ์ ํ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค.
- ์ ๋ณด ํจ๋์ด ํ์ค๋ฒ, ๋ํ ์์ ๋ฐ ๋ฐฐ๋๋ก ๋์ฒด๋์์ต๋๋ค.
- ํญ ๋ฉ๋ด๋ AdwTabButton์ผ๋ก ๋์ฒด๋์์ผ๋ฉฐ ์ ๋ณด ๋ํ ์์๋ AdwAboutWindow๋ก ๋์ฒด๋์์ต๋๋ค.
- ์์๊ฑฐ ํญ ์์๋ ์ํฉ์ ๋ง๋ ๋ฉ๋ด์ ์๊ตฌ์ ์ผ๋ก ํ์๋ฉ๋๋ค.
- ๊ธฐ๋ณธ OS ๋ฐฐํฌํ์ ๋ํ ์ง์์ด ์ฌ์ค๊ณ๋์์ต๋๋ค.
- ์ ํญ์ ์ด ๋ ํ์๋๋ ํ์ด์ง๋ฅผ ์ค์ ํ๋ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- WebExtension browserAction API์ ๋ํ ์ง์์ด ํ์ฅ๋์์ต๋๋ค.
- WebExtensions์ ๋ํ ์ค์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ์ด์ง ์๋ก ๊ณ ์นจ ๋ฒํผ์ ๋ง์ฐ์ค ๊ฐ์ด๋ฐ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๋ฉด ํญ ๋ณต์ ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru