Главная | IT | Компания LG опубликовала платформу webOS Open Source Edition 2.27

Компания LG опубликовала платформу webOS Open Source Edition 2.27

Представлен выпуск открытой платформы webOS Open Source Edition 2.27, которая может применяться на различных портативных устройствах, платах и автомобильных информационно-развлекательных системах. В качестве эталонной аппаратной платформы рассматриваются платы Raspberry Pi 4. Платформа развивается в публичном репозитории под лицензией Apache 2.0, а разработку курирует сообщество, придерживаясь совместной модели управления разработкой.

Основные изменения в новом выпуске:

  • Браузерный движок обновлён до версии Chromium 120 (ранее использовался выпуск 108). Приложение с реализацией браузера Enact переведено на использование концепции Browser Shell вместо App Shell, что позволило расширить функциональность и гибкость обработки контента. Архитектура приложений App Shell подразумевает использование собственной реализации пользовательского интерфейса, в которой выводится отрисованный web-контент, а архитектура Browser Shell сводится к использованию штатных элементов интерфейса базового браузера.
  • Добавлены дополнительные возможности для самодостаточных web-приложений (PWA, Progressive Web Application), такие как поддержка навигации кнопками “вперёд” и “назад”, более удобная прокрутка и возможность вывода push-уведомлений.
  • Повышена эффективность сборочного процесса. Расширения файлов с образами для запуска в эмуляторе изменены с “.wic.vmdk” на “wic.vmdk.gz”.
  • В API com.webos.service.mediacontroller, формирующий интерфейс управления воспроизведением, добавлен метод setSupportedActions для задания списка поддерживаемых операций (play, pause, next, previous, mute, unmute).
  • Системный сервис luna-sysservice избавлен от привязки к Qt.
  • Фреймворк Qt обновлён до версии 6.7.2.
  • Добавлена возможность изменения цветов, используемых в оформлении конфигуратора (приложение Settings).

Платформа 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 и атомарная замена разделов (создаются два системных раздела, один из которых является активным, а второй используется для копирования обновления).

Источник