Die neue Version der offenen Plattform webOS Open Source Edition 2.26 wurde vorgestellt, die auf verschiedenen tragbaren Geräten, Platinen und Infotainmentsystemen in Autos eingesetzt werden kann. Als Referenzhardware werden Raspberry Pi 4-Platinen betrachtet. Die Plattform wird in einem öffentlichen Repository unter der Lizenz Apache 2.0 entwickelt, und die Entwicklung wird von der Gemeinschaft unter einem kollaborativen Modell geleitet.
Die wesentlichen Änderungen in der neuen Version:
- Die Unterstützung für die Installation von eigenständigen Webanwendungen (PWA, Progressive Web Application) wurde hinzugefügt. Beim Öffnen von Webseiten, die PWA unterstützen, erscheint in der Browserleiste eine Schaltfläche zur Installation. Nach der Installation wird das Symbol zum Öffnen der PWA-Anwendung im Standard-Anwendungsstarter angezeigt, neben den regulären Anwendungen.

- Im Interface zur Aufnahme von Multimedia-Inhalten wurden Funktionen zum Anhalten und Fortsetzen der Aufnahme sowie zur Aufnahme nur von Audio hinzugefügt. Für Video gibt es die Möglichkeit, die Bildrate und Auflösung auszuwählen (FHD/20 FPS oder HD/30 FPS).
- In der API zur Audioverarbeitung wurde die Möglichkeit zum Stoppen und Anhalten der Wiedergabe von Systemtönen sowie zur Steuerung ihrer Lautstärke hinzugefügt.
- Im Enact-Webbrowser wurde die Möglichkeit hinzugefügt, Webseiten über einen Proxy zu öffnen. Der Betrieb über einen Proxy kann an einzelne Webseiten gebunden werden.
- Die Unterstützung für sichere Rendering mit DMABUF wurde hinzugefügt.
- Die Noto-Schriften wurden aktualisiert.
- Für GStreamer wurde der UnifiedDecodebin-Decoder implementiert, der in der Programmiersprache Rust geschrieben ist.
- In die Browser-Engine wurde die Unterstützung für das WEb Push-System integriert mit Hilfe von Server FCM (Google Firebase Cloud Messaging).
- Änderungen aus der Yocto-Plattform 5.0 wurden übernommen.

Die webOS-Plattform wurde ursprünglich 2008 von Palm entwickelt und kam auf den Smartphones Palm Pre und Pixie zum Einsatz. 2010, nach der Übernahme von Palm, ging die Plattform in die Hände von Hewlett-Packard über, die versuchte, die Plattform in ihren Druckern, Tablets, Laptops und PCs zu verwenden. Im Jahr 2012 kündigte HP an, webOS in ein unabhängiges Open-Source-Projekt zu überführen, und begann 2013 mit der Veröffentlichung des Quellcodes seiner Komponenten.
Im Jahr 2013 wurde die Plattform von Hewlett-Packard von LG übernommen und wird nun in über 70 Millionen LG-Fernsehern und -Verbrauchergeräten eingesetzt. 2018 wurde das Projekt webOS Open Source Edition gegründet, über das LG versuchte, zu einem offenen Entwicklungsmodell zurückzukehren, andere Teilnehmer zu gewinnen und die Unterstützung für eine Vielzahl von in webOS verwendeten Geräten zu erweitern.
Die Systemumgebung von webOS wird unter Verwendung von Werkzeugen und Basis-Paketen aus OpenEmbedded sowie einem Build-System und einem Satz von Metadaten des Yocto-Projekts gebildet. Zu den Schlüsselkomponenten von webOS gehören 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 gestaltet. Die Komponenten sind mit dem Qt-Framework und der Chromium-Browsing-Engine geschrieben.
Die Darstellung erfolgt über einen Compositing-Manager, der das Wayland-Protokoll verwendet. Für die Entwicklung von Benutzeranwendungen wird empfohlen, Webtechnologien (CSS, HTML5 und JavaScript) sowie das auf React basierende Enact-Framework zu verwenden, jedoch ist auch die Erstellung von Programmen in C und C++ mit einer Qt-basierten Benutzeroberfläche möglich. Die Benutzeroberfläche und die integrierten grafischen Anwendungen sind hauptsächlich als native Programme implementiert, die mit QML-Technologie erstellt wurden. Standardmäßig wird die Home Launcher-Oberfläche angeboten, die für die Steuerung über Touchscreens optimiert ist und das Konzept wechselnder Karten (anstatt Fenstern) bietet.
Zur Speicherung von Daten in strukturierter Form im JSON-Format wird der DB8-Speicher verwendet, der als Backend die LevelDB-Datenbank nutzt.
Für die Initialisierung wird bootd auf Basis von systemd verwendet. Zur Verarbeitung von Multimedia-Inhalten stehen die Subsysteme uMediaServer und Media Display Controller (MDC) zur Verfügung, als Soundserver wird PulseAudio eingesetzt. Für die automatische Aktualisierung der Firmware kommt OSTree und eine atomare Partitionsersetzung zum Einsatz (es werden zwei Systempartitionen erstellt, von denen eine aktiv ist und die andere für die Kopie des Updates genutzt wird).
Quelle: opennet.ru

