ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ webOS Open Source Edition 2.18, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΏΠ»Π°ΡΠ°Ρ ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠ»Π°ΡΡ Raspberry Pi 4. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΡΡΠΈΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° webOS ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ΅Π½Π° ΠΎΠ΄ Palm Π²ΠΎ 2008 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ Palm Pre ΠΈ Pixie. ΠΠΎ 2010 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΠΎ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ΡΠΎ Π½Π° Palm, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π²ΠΎ ΡΠ°ΡΠ΅ΡΠ΅ Π½Π° Hewlett-Packard, ΠΏΠΎ ΡΡΠΎ HP ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΠΎΠ²Π°Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π²ΠΎ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ, ΡΠ°Π±Π»Π΅ΡΠΈ, Π»Π°ΠΏΡΠΎΠΏΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ. ΠΠΎ 2012 Π³ΠΎΠ΄ΠΈΠ½Π°, HP Π³ΠΎ ΠΎΠ±ΡΠ°Π²ΠΈ ΠΏΡΠ΅Π²ΠΎΠ΄ΠΎΡ Π½Π° webOS Π²ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ Π²ΠΎ 2013 Π³ΠΎΠ΄ΠΈΠ½Π° Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° Π³ΠΎ ΠΎΡΠ²ΠΎΡΠ° ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΠΎ 2013 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π±Π΅ΡΠ΅ ΠΊΡΠΏΠ΅Π½Π° ΠΎΠ΄ Hewlett-Packard ΠΎΠ΄ LG ΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 70 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ LG ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠΈ ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠΈΡΠΎΠΊΠ° ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°. ΠΠΎ 2018 Π³ΠΎΠ΄ΠΈΠ½Π° Π±Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ webOS Open Source Edition, ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΡ LG ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡΠ°Π·Π²ΠΎΡ, Π΄Π° ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΈ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠΈ ΠΎΠΏΡΠ΅Π³ΠΎΡ Π½Π° ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½ΠΈ Π²ΠΎ webOS.
ΠΠΏΠΊΡΡΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ webOS Π΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΎ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° OpenEmbedded Π°Π»Π°ΡΠΊΠΈ ΠΈ Π±Π°Π·Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌ Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ ΠΈ Π·Π±ΠΈΡ Π½Π° ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Yocto. ΠΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° webOS ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ ΠΌΠ΅Π½Π°ΡΠ΅ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ (SAM, System and Application Manager), ΠΊΠΎΡ Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΈ Luna Surface Manager (LSM), ΠΊΠΎΡ Π³ΠΎ ΡΠΎΡΠΌΠΈΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Qt ΠΈ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°ΡΠΎΡ Chromium.
Π Π΅Π½Π΄Π΅ΡΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΠ΅ Π²ΡΡΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΠΌΠ΅Π½Π°ΡΠ΅Ρ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΡ Wayland. ΠΠ° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²Π΅Π± ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (CSS, HTML5 ΠΈ JavaScript) ΠΈ ΡΠ°ΠΌΠΊΠ°ΡΠ° Enact, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° React, Π½ΠΎ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π²ΠΎ C ΠΈ C++ ΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Qt. ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ°ΡΠ° ΡΠΊΠΎΠ»ΠΊΠ° ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΡΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π³Π»Π°Π²Π½ΠΎ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΠΊΠΎ ΠΌΠ°ΡΡΠΈΠ½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° QML ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°. Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π½Π° Home Launcher Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ Π½Π° Π΄ΠΎΠΏΠΈΡ ΠΈ Π½ΡΠ΄ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ Π½Π° ΡΠΎΡΠΈΡΠ°ΡΠΊΠΈ ΠΊΠ°ΡΡΠΈ (Π½Π°ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ).
ΠΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π° ΡΠΎΡΠΌΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ JSON ΡΠΎΡΠΌΠ°Ρ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ DB8, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ LevelDB ΠΊΠ°ΠΊΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°. Bootd ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΈΠ½ΠΈΡΠΈΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° systemd. ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ uMediaServer ΠΈ Media Display Controller (MDC) ΡΠ΅ Π½ΡΠ΄Π°Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΡΠ°Π»Π½ΠΈ ΡΠΎΠ΄ΡΠΆΠΈΠ½ΠΈ; PulseAudio ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° Π·Π²ΡΠΊ. ΠΠ° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΈΡΠΌΠ²Π΅ΡΠΎΡ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ OSTree ΠΈ Π·Π°ΠΌΠ΅Π½Π° Π½Π° Π°ΡΠΎΠΌΡΠΊΠ° ΠΏΠ°ΡΡΠΈΡΠΈΡΠ° (ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ Π΄Π²Π΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ Π΅Π΄Π½Π°ΡΠ° Π΅ Π°ΠΊΡΠΈΠ²Π½Π°, Π° Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ).
ΠΠ»Π°Π²Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠΊΡΠ°Π½ (Home App), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½ ΡΡΠΈΠ»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ, ΡΡΠ°ΡΡΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ.
- ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Qt 6.3.1.
- Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ configd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠ΄ ΡΠ±ΠΎΡΠ° ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ (data collection).
- Π Web-Π΄ΠΈΠΆΠ²ΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ API Web Risk.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Enact Browser ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ.
- Π ΡΠΊΡΠ°Π½Π½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ LSM (Luna Surface Manager) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ 4Π.
ΠΠ·Π²ΠΎΡ: opennet.ru