Випуск платформи WebOS Open Source Edition 2.10

Представлено випуск відкритої платформи webOS Open Source Edition 2.10, яка може застосовуватись на різних портативних пристроях, платах та автомобільних інформаційно-розважальних системах. Як еталонна апаратна платформа розглядаються плати Raspberry Pi 4. Платформа розвивається в публічному репозиторії під ліцензією Apache 2.0, а розробку курує співтовариство, дотримуючись спільної моделі управління розробкою.

Платформа webOS була спочатку розроблена компанією Palm у 2008 році та використовувалася на смартфонах Palm Pre та Pixie. В результаті поглинання компанії Palm у 2010 році платформа перейшла в руки Hewlett-Packard, після чого HP намагалася використати цю платформу у своїх принтерах, планшетах, ноутбуках та ПК. У 2012 році компанія HP анонсувала переведення webOS у незалежний відкритий проект і в 2013 році розпочала відкриття вихідних текстів його компонентів. У 2013 році платформа була викуплена компанією LG у Hewlett-Packard і тепер застосовується на більш ніж 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, оптимізована для керування з сенсорних екранів і пропонує концепцію карт, що змінюють один одного (замість вікон).

Випуск платформи WebOS Open Source Edition 2.10

Для зберігання даних у структурованому вигляді з використанням формату JSON застосовується сховище DB8, що використовує як бекенд БД LevelDB. Для ініціалізації використовується bootd на основі systemd. Для обробки мультимедійного контенту пропонуються підсистеми uMediaServer і Media Display Controller (MDC), як звуковий сервер застосовується PulseAudio. Для автоматичного оновлення прошивки застосовується OSTree та атомарна заміна розділів (створюються два системні розділи, один з яких є активним, а другий використовується для копіювання оновлення).

Основні зміни у новому випуску:

  • Реалізовано фреймворк Storage Access, що надає єдиний інтерфейс для доступу до різних сховищ, включаючи внутрішнє сховище, USB-накопичувачі та хмарні системи зберігання (поки що підтримується лише Google Drive). Фреймворк дозволяє через загальний інтерфейс користувача переглядати і відкривати документи, зображення і файли з усіх налаштованих провайдерів зберігання даних.
  • У браузерному движку забезпечене зберігання сесійних та аутентифікаційних Cookie у зашифрованому вигляді.
  • Додано новий сервіс Peripheral Manager для керування периферійними пристроями, що підтримує взаємодію з пристроями через інтерфейси GPIO, SPI, I2C та UART. Сервіс дозволяє організувати керування новими пристроями без зміни вихідних текстів платформи.
  • Розширено можливості моделі керування доступом ACG (Access Control Groups), яка застосовується для обмеження повноважень сервісів, які використовують Luna Bus. У новому випуску на ACG переведені всі старі сервіси, в яких раніше використовували стару модель безпеки. Змінено синтаксис правил ACG.

Джерело: opennet.ru

Додати коментар або відгук