๋ค์ํ ํด๋์ฉ ๊ธฐ๊ธฐ, ๋ณด๋, ์๋์ฐจ ์ธํฌํ ์ธ๋จผํธ ์์คํ ์์ ์ฌ์ฉํ ์ ์๋ ์คํ ํ๋ซํผ webOS ์คํ์์ค ์๋์ 2.27์ด ์ถ์๋๋ค. Raspberry Pi 4 ๋ณด๋๋ ์ฐธ์กฐ ํ๋์จ์ด ํ๋ซํผ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ํ๋ซํผ์ Apache 2.0 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๊ณต๊ฐ ์ ์ฅ์์์ ๊ฐ๋ฐ๋๋ฉฐ ๊ณต๋ ๊ฐ๋ฐ ๊ด๋ฆฌ ๋ชจ๋ธ์ ์ค์ํ์ฌ ์ปค๋ฎค๋ํฐ์์ ๊ฐ๋ฐ์ ๊ฐ๋ ํฉ๋๋ค.
์ ๋ฆด๋ฆฌ์ค์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- ๋ธ๋ผ์ฐ์ ์์ง์ด Chromium 120์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค(์ด์ ๋ฒ์ 108 ์ฌ์ฉ). Enact ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ตฌํํ ์ ํ๋ฆฌ์ผ์ด์ ์ App Shell ๋์ Browser Shell ๊ฐ๋ ์ ์ฌ์ฉํ๋๋ก ๋ณํ๋์ด ์ฝํ ์ธ ์ฒ๋ฆฌ์ ๊ธฐ๋ฅ๊ณผ ์ ์ฐ์ฑ์ด ํ์ฅ๋์์ต๋๋ค. ์ฑ ์ ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํคํ ์ฒ์๋ ๋ ๋๋ง๋ ์น ์ฝํ ์ธ ๊ฐ ํ์๋๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์์ฒด ๊ตฌํ ์ฌ์ฉ์ด ํฌํจ๋๋ฉฐ, ๋ธ๋ผ์ฐ์ ์ ธ์ ์ํคํ ์ฒ๋ ๊ธฐ๋ณธ ๋ธ๋ผ์ฐ์ ์ ํ์ค ์ธํฐํ์ด์ค ์์ ์ฌ์ฉ์ผ๋ก ๊ท๊ฒฐ๋ฉ๋๋ค.
- ์์ผ๋ก ๋ฐ ๋ค๋ก ๋ฒํผ์ ์ฌ์ฉํ ํ์ ์ง์, ๋์ฑ ํธ๋ฆฌํ ์คํฌ๋กค, ํธ์ ์๋ฆผ ํ์ ๊ธฐ๋ฅ ๋ฑ ๋ ๋ฆฝํ ์น ์ ํ๋ฆฌ์ผ์ด์ (PWA, ํ๋ก๊ทธ๋ ์๋ธ ์น ์ ํ๋ฆฌ์ผ์ด์ )์ ์ํ ์ถ๊ฐ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์กฐ๋ฆฝ ๊ณต์ ์ ํจ์จ์ฑ์ด ํฅ์๋์์ต๋๋ค. ์๋ฎฌ๋ ์ดํฐ์์ ์คํํ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋ ํ์ผ์ ํ์ฅ์๊ฐ ".wic.vmdk"์์ "wic.vmdk.gz"๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
- ์ง์๋๋ ์์ (์ฌ์, ์ผ์ ์ค์ง, ๋ค์, ์ด์ , ์์๊ฑฐ, ์์๊ฑฐ ํด์ ) ๋ชฉ๋ก์ ์ค์ ํ๊ธฐ ์ํด ์ฌ์ ์ ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ com.webos.service.mediacontroller API์ setSupportedActions ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์์คํ ์๋น์ค luna-sysservice๊ฐ Qt์ ๋ํ ๋ฐ์ธ๋ฉ์์ ํด์ ๋์์ต๋๋ค.
- Qt ํ๋ ์์ํฌ๊ฐ ๋ฒ์ 6.7.2๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- ๊ตฌ์ฑ๊ธฐ ๋์์ธ์ ์ฌ์ฉ๋ ์์์ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค(์ค์ ์ ํ๋ฆฌ์ผ์ด์ ).

webOS ํ๋ซํผ์ ์๋ 2008๋ Palm์์ ๊ฐ๋ฐํ์ผ๋ฉฐ Palm Pre ๋ฐ Pixie ์ค๋งํธํฐ์ ์ฌ์ฉ๋์์ต๋๋ค. 2010๋ Palm์ ์ธ์ํ ํ ํ๋ซํผ์ Hewlett-Packard์ ์์ ๋์ด๊ฐ๊ณ HP๋ ํ๋ฆฐํฐ, ํ๋ธ๋ฆฟ, ๋ฉํฑ ๋ฐ PC์์ ์ด ํ๋ซํผ์ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ์ต๋๋ค. 2012๋ ์ HP๋ webOS๋ฅผ ๋ ๋ฆฝ์ ์ธ ์คํ ์์ค ํ๋ก์ ํธ๋ก ์ด์ ํ๋ค๊ณ ๋ฐํํ์ผ๋ฉฐ 2013๋ ์๋ ํด๋น ๊ตฌ์ฑ ์์์ ์์ค ์ฝ๋๋ฅผ ๊ณต๊ฐํ๊ธฐ ์์ํ์ต๋๋ค. 2013๋ ์ ์ด ํ๋ซํผ์ LG๊ฐ Hewlett-Packard์์ ์ธ์ํ์ผ๋ฉฐ ํ์ฌ 70์ฒ๋ง ๋ ์ด์์ LG TV ๋ฐ ์๋น์ ์ฅ์น์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. 2018๋ ์๋ webOS Open Source Edition ํ๋ก์ ํธ๋ฅผ ์ ์คํ์ฌ LG๊ฐ ๊ฐ๋ฐฉํ ๊ฐ๋ฐ ๋ชจ๋ธ๋ก ๋ณต๊ทํ๊ณ ๋ค๋ฅธ ์ฐธ์ฌ์๋ฅผ ์ ์นํ๊ณ webOS์์ ์ง์ํ๋ ์ฅ์น์ ๋ฒ์๋ฅผ ํ์ฅํ๋ ค๊ณ ํ์ต๋๋ค.
webOS ์์คํ ํ๊ฒฝ์ Yocto ํ๋ก์ ํธ์ ๋น๋ ์์คํ ๋ฐ ๋ฉํ๋ฐ์ดํฐ ์ธํธ๋ฟ๋ง ์๋๋ผ OpenEmbedded ํดํท ๋ฐ ๊ธฐ๋ณธ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค. webOS์ ํต์ฌ ๊ตฌ์ฑ ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋น์ค ์คํ์ ๋ด๋นํ๋ ์์คํ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ์(SAM, System and Application Manager)์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ LSM(Luna Surface Manager)์ ๋๋ค. ๊ตฌ์ฑ ์์๋ Qt ํ๋ ์์ํฌ์ Chromium ๋ธ๋ผ์ฐ์ ์์ง์ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค.
๋ ๋๋ง์ Wayland ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๋ณตํฉ ๊ด๋ฆฌ์๋ฅผ ํตํด ์ํ๋ฉ๋๋ค. ๋ง์ถคํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ค๋ฉด ์น ๊ธฐ์ (CSS, HTML5 ๋ฐ JavaScript)๊ณผ React ๊ธฐ๋ฐ Enact ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์๋์ง๋ง Qt ๊ธฐ๋ฐ ์ธํฐํ์ด์ค๋ก C ๋ฐ C++๋ก ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์๋ฒ ๋๋ ๊ทธ๋ํฝ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ถ๋ถ QML ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ ๋ฐ์ฒ๊ฐ ์ ๊ณต๋๋๋ฐ, ์ด๋ ํฐ์น ์คํฌ๋ฆฐ ์กฐ์์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ (์ฐฝ ๋์ ) ์ฐ์ ๋งต ๊ฐ๋ ์ ์ ๊ณตํฉ๋๋ค.
DB8 ์คํ ๋ฆฌ์ง๋ LevelDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ์๋๋ก ์ฌ์ฉํ์ฌ JSON ํ์์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. systemd ๊ธฐ๋ฐ์ Bootd๊ฐ ์ด๊ธฐํ์ ์ฌ์ฉ๋ฉ๋๋ค. uMediaServer ๋ฐ Media Display Controller(MDC) ์๋ธ์์คํ ์ ๋ฉํฐ๋ฏธ๋์ด ์ฝํ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ ๊ณต๋๋ฉฐ, ์ค๋์ค ์ฒ๋ฆฌ๋ ์ง์ํฉ๋๋ค. ์๋ฒ PulseAudio๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ ํ์จ์ด ์ ๋ฐ์ดํธ์๋ OSTree์ ์์์ ํํฐ์ ๊ต์ฒด ๋ฐฉ์์ด ์ฌ์ฉ๋ฉ๋๋ค(๋ ๊ฐ์ ์์คํ ํํฐ์ ์ด ์์ฑ๋๋๋ฐ, ํ๋๋ ํ์ฑ ํํฐ์ ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์ ๋ฐ์ดํธ ํ์ผ์ ๋ณต์ฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค).
์ถ์ฒ : opennet.ru
