Опубліковано випуск відкритої платформи 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. Для розробки додатків користувача пропонується використовувати web-технології (CSS, HTML5 і JavaScript) і фреймворк Enact, заснований на React, але можливе і створення програм на С і 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