Die Veröffentlichung der offenen Plattform webOS Open Source Edition 2.27 wurde vorgestellt, die auf verschiedenen tragbaren Geräten, Boards und Car-Infotainmentsystemen verwendet werden kann. Raspberry Pi 4-Boards gelten als Referenz-Hardwareplattform. Die Plattform wird in einem öffentlichen Repository unter der Apache 2.0-Lizenz entwickelt und die Entwicklung wird von der Community überwacht, wobei ein kollaboratives Entwicklungsmanagementmodell eingehalten wird.
Wichtigste Änderungen in der neuen Version:
- Die Browser-Engine wurde auf Chromium 120 aktualisiert (zuvor wurde Version 108 verwendet). Die Anwendung, die den Enact-Browser implementiert, wurde so umgestellt, dass sie das Browser-Shell-Konzept anstelle der App-Shell verwendet, was die Funktionalität und Flexibilität der Inhaltsverarbeitung erweitert hat. Die App Shell-Anwendungsarchitektur beinhaltet die Verwendung einer eigenen Implementierung der Benutzeroberfläche, in der gerenderte Webinhalte angezeigt werden, und die Browser Shell-Architektur läuft auf die Verwendung von Standardschnittstellenelementen des Basisbrowsers hinaus.
- Für eigenständige Webanwendungen (PWA, Progressive Web Application) wurden zusätzliche Features hinzugefügt, etwa die Unterstützung der Navigation mit Vor- und Zurück-Buttons, komfortableres Scrollen und die Möglichkeit, Push-Benachrichtigungen anzuzeigen.
- Erhöhte Effizienz des Montageprozesses. Die Erweiterungen von Dateien mit Bildern zur Ausführung im Emulator wurden von „.wic.vmdk“ in „wic.vmdk.gz“ geändert.
- Die setSupportedActions-Methode wurde der com.webos.service.mediacontroller-API hinzugefügt, die die Schnittstelle zur Wiedergabesteuerung bildet, um die Liste der unterstützten Vorgänge festzulegen (Wiedergabe, Pause, Weiter, Zurück, Stummschaltung, Stummschaltung aufheben).
- Der Systemdienst luna-sysservice wird von der Bindung an Qt befreit.
- Das Qt-Framework wurde auf Version 6.7.2 aktualisiert.
- Es wurde die Möglichkeit hinzugefügt, die im Design des Konfigurators verwendeten Farben zu ändern (Anwendung „Einstellungen“).

Die webOS-Plattform wurde ursprünglich 2008 von Palm entwickelt und auf den Smartphones Palm Pre und Pixie verwendet. Im Jahr 2010, nach der Übernahme von Palm, ging die Plattform in die Hände von Hewlett-Packard über, woraufhin HP versuchte, diese Plattform in seinen Druckern, Tablets, Laptops und PCs einzusetzen. Im Jahr 2012 kündigte HP die Überführung von webOS in ein unabhängiges Open-Source-Projekt an und begann 2013 mit der Offenlegung des Quellcodes seiner Komponenten. Die Plattform wurde 2013 von Hewlett-Packard von LG übernommen und wird mittlerweile auf mehr als 70 Millionen LG-Fernsehern und Consumer-Geräten eingesetzt. Im Jahr 2018 wurde das webOS Open Source Edition-Projekt gegründet, mit dem LG versuchte, zum offenen Entwicklungsmodell zurückzukehren, andere Teilnehmer zu gewinnen und die Palette der in webOS unterstützten Geräte zu erweitern.
Die webOS-Systemumgebung wird mithilfe des OpenEmbedded-Toolkits und der Basispakete sowie des Build-Systems und des Metadatensatzes aus dem Yocto-Projekt erstellt. Die Schlüsselkomponenten von webOS sind der System- und Anwendungsmanager (SAM, System and Application Manager), der für die Ausführung von Anwendungen und Diensten verantwortlich ist, und der Luna Surface Manager (LSM), der die Benutzeroberfläche bildet. Die Komponenten werden mit dem Qt-Framework und der Chromium-Browser-Engine geschrieben.
Das Rendern erfolgt über einen Composite-Manager, der das Wayland-Protokoll verwendet. Für die Entwicklung benutzerdefinierter Anwendungen wird vorgeschlagen, Webtechnologien (CSS, HTML5 und JavaScript) und das auf React basierende Enact-Framework zu verwenden. Es ist jedoch auch möglich, Programme in C und C++ mit einer auf Qt basierenden Schnittstelle zu erstellen. Die Benutzeroberfläche und eingebetteten grafischen Anwendungen werden meist als native Programme implementiert, die mit QML-Technologie geschrieben werden. Standardmäßig wird der Home Launcher angeboten, der für die Touchscreen-Bedienung optimiert ist und das Konzept aufeinanderfolgender Karten (anstelle von Fenstern) bietet.
DB8-Speicher dient zur Speicherung strukturierter Daten im JSON-Format, wobei die LevelDB-Datenbank als Backend fungiert. Bootd, basierend auf systemd, wird zur Initialisierung verwendet. Die Subsysteme uMediaServer und Media Display Controller (MDC) stehen zur Verarbeitung von Multimedia-Inhalten und Audio zur Verfügung. Server PulseAudio wird verwendet. Für automatische Firmware-Updates kommen OSTree und atomarer Partitionsaustausch zum Einsatz (es werden zwei Systempartitionen erstellt, von denen eine aktiv ist und die andere zum Kopieren des Updates verwendet wird).
Source: opennet.ru
