Платформа webOS в 2013 году была выкуплена компанией LG у Hewlett-Packard и применяется на более чем 70 миллионах телевизоров и потребительских устройств LG. Проект webOS Open Source Edition был основан в 2018 году, после того как компания 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.
Для хранения данных в структурированном виде с использованием формата JSON применяется хранилище DB8, использующее в качестве бэкенда БД LevelDB. Для инициализации используется bootd на основе systemd. Для обработки мультимедийного контента предлагаются подсистемы uMediaServer и Media Display Controller (MDC), в качестве звукового сервера применяется PulseAudio.
Особенности webOS Open Source Edition 2:
- Предложен новый эталонный интерфейс пользователя - Home Launcher, оптимизированный для управления посредством сенсорных экранов и предлагающий усовершенствованную концепцию сменяющих друг друга карт (вместо окон). В интерфейс также добавлена панель быстрого запуска, на которой размещаются ярлыки для часто используемых функций, таких как доступ к настройкам и уведомлениям;
- Платформа адаптирована для применения на автомобильных информационно-развлекательных системах. Например, обеспечена возможность работы в окружениях с двумя экранами, обычно используемыми в пассажирских мультимедийных системах;
- Предложены средства для автоматического обновления прошивки (FOTA - Firmware-Over-the Air), основанные на применении OSTree и атомарного обновления системы. Весь образ системы пересобирается целиком, без разделения на отдельные пакеты. Система обновлений основана на использовании двух системных разделов, один из которых является активным, а второй используется для копирования обновления, после установки обновления разделы меняются ролями;
- Добавлен режим SoftAP (Tethering), позволяющий организовать работу точки беспроводного доступа для подключения к сети других устройств;
- Добавлена поддержка мандатного управления доступом на базе модуля ядра Smack (Simplified Mandatory Access Control Kernel);
- Улучшена поддержка Bluetooth и WiFi;
- Эталонная аппаратная платформа обновлена до платы Raspberry Pi 4 (ранее предлагалось использовать Raspberry Pi 3 Model B ), на которой можно подключать два экрана через HDMI, задействовать более совершенный GPU, использовать Gigabit Ethernet, двухдиапазонный Wi-Fi, Bluetooth 5.0/BLE и USB 3.0;
- Для ведения логов по умолчанию задействован journald от systemd;
- Обновлены версии сторонних компонентов, лежащих в основе платформы, включая Qt 5.12 и Chromium 72.
Источник: https://www.opennet.ru/opennews/art.shtml?num=51918
(opennet.ru, основная лента)