Die neue Version der offenen Plattform webOS Open Source Edition 2.27 kann auf verschiedenen tragbaren Geräten, Platinen und Infotainmentsystemen in Autos eingesetzt werden. Als Referenzhardware wird das Raspberry Pi 4-Board angesehen. Die Plattform wird in einem öffentlichen Repository unter der Apache 2.0-Lizenz weiterentwickelt, und die Entwicklung wird von der Community in einer gemeinsamen Governance-Modell betreut.
Die wichtigsten Änderungen in der neuen Version:
- Die Browser-Engine wurde auf Version Chromium 120 aktualisiert (zuvor wurde Version 108 verwendet). Die Anwendung mit der Implementierung des Browsers Enact wurde auf das Konzept Browser Shell anstelle von App Shell umgestellt, was die Funktionalität und Flexibilität der Inhaltsverarbeitung erweitert hat. Die Architektur der App Shell-Anwendungen sieht die Verwendung einer eigenen Benutzeroberflächenimplementierung vor, in der der gerenderte Webinhalt angezeigt wird, während die Architektur der Browser Shell die Nutzung der standardmäßigen Benutzeroberflächenelemente des zugrunde liegenden Browsers umfasst.
- Zusätzliche Funktionen für eigenständige Webanwendungen (PWA, Progressive Web Application) wurden hinzugefügt, wie die Unterstützung für die Navigation mit den Tasten „Vorwärts“ und „Rückwärts“, eine verbesserte Scroll-Funktion und die Möglichkeit, Push-Benachrichtigungen anzuzeigen.
- Die Effizienz des Build-Prozesses wurde erhöht. Die Dateierweiterungen für Images, die im Emulator ausgeführt werden, wurden von „.wic.vmdk“ auf „wic.vmdk.gz“ geändert.
- In der API com.webos.service.mediacontroller, die die Steuerung der Wiedergabe ermöglicht, wurde die Methode setSupportedActions hinzugefügt, um eine Liste unterstützter Aktionen (play, pause, next, previous, mute, unmute) festzulegen.
- Der Systemdienst luna-sysservice wurde von der Bindung an Qt gelöst.
- Das Qt-Framework wurde auf Version 6.7.2 aktualisiert.
- Eine Möglichkeit zur Anpassung der Farben, die im Design des Konfigurators (Einstellungen-App) verwendet werden, wurde hinzugefügt.

Die webOS-Plattform wurde ursprünglich 2008 von Palm entwickelt und kam auf den Smartphones Palm Pre und Pixie zum Einsatz. Nach der Übernahme von Palm durch Hewlett-Packard im Jahr 2010 übernahm HP die Plattform und versuchte, sie in seinen Druckern, Tablets, Laptops und PCs zu integrieren. 2012 kündigte HP an, webOS zu einem unabhängigen Open-Source-Projekt zu machen, und begann 2013 mit der Veröffentlichung des Quellcodes seiner Komponenten. Im Jahr 2013 wurde die Plattform von LG von Hewlett-Packard übernommen und findet mittlerweile in über 70 Millionen Fernsehern und Verbrauchergeräten von LG Anwendung. 2018 wurde das Projekt webOS Open Source Edition ins Leben gerufen, durch das LG versuchte, zu einem offenen Entwicklungsmodell zurückzukehren, weitere Teilnehmer zu gewinnen und die Palette der in webOS unterstützten Geräte zu erweitern.
Die Systemumgebung von webOS wird mit Werkzeugen und Basis-Paketen von OpenEmbedded sowie mit dem Build-System und den Metadaten des Yocto-Projekts erstellt. Zu den Schlüsselfunktionen von webOS gehören der System- und Anwendungsmanager (SAM, System and Application Manager), der für die Ausführung von Anwendungen und Diensten zuständig ist, und der Luna Surface Manager (LSM), der die Benutzeroberfläche gestaltet. Die Komponenten sind mit dem Qt-Framework und der Chromium-Browser-Engine entwickelt.
Die Darstellung erfolgt über einen Kompositionsmanager, der das Wayland-Protokoll nutzt. Für die Entwicklung von Benutzeranwendungen wird empfohlen, Web-Technologien (CSS, HTML5 und JavaScript) sowie das auf React basierende Framework Enact zu verwenden. Es ist jedoch auch möglich, Anwendungen in C und C++ mit einer Benutzeroberfläche auf Qt-Basis zu erstellen. Die Benutzeroberfläche und die integrierten grafischen Anwendungen werden hauptsächlich als native Programme implementiert, die mit der QML-Technologie geschrieben sind. Standardmäßig wird eine Home Launcher-Oberfläche angeboten, die für die Steuerung mit Touchscreens optimiert ist und das Konzept wechselnder Karten (statt Fenstern) bietet.
Für die strukturierte Speicherung von Daten im JSON-Format wird der DB8-Speicher verwendet, der LevelDB als Backend nutzt. Die Initialisierung erfolgt über bootd, das auf systemd basiert. Zur Verarbeitung von Multimedia-Inhalten stehen die Subsysteme uMediaServer und Media Display Controller (MDC) zur Verfügung, wobei als Audio-Dienst PulseAudio zum Einsatz kommt. Server Für die automatische Aktualisierung der Firmware werden OSTree und atomare Partitionstauschmethoden verwendet (es werden zwei Systempartitionen erstellt, von denen eine aktiv ist und die andere zum Kopieren des Updates dient).
Quelle: opennet.ru
