Die Veröffentlichung von webOS Open Source Edition 2.15 wurde bekannt gegeben, die auf verschiedenen tragbaren Geräten, Boards und Infotainmentsystemen in Fahrzeugen eingesetzt werden kann. Als Referenzhardware-Plattform werden Raspberry Pi 4-Boards betrachtet. Die Plattform wird in einem öffentlichen Repository unter der Apache 2.0-Lizenz entwickelt, und die Entwicklung wird von der Community unter einem gemeinschaftlichen Entwicklungsmodell überwacht.
Die webOS-Plattform wurde ursprünglich 2008 von Palm entwickelt und auf den Smartphones Palm Pre und Pixie verwendet. Nach der Übernahme von Palm im Jahr 2010 ging die Plattform in den Besitz von Hewlett-Packard über, die versuchte, diese Plattform in ihren Druckern, Tablets, Laptops und PCs zu verwenden. 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 LG von Hewlett-Packard übernommen und wird nun in über 70 Millionen LG-Fernsehern und Verbraucherelektronik 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ützten Geräte in webOS 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 das DB8-Speichersystem eingesetzt, das LevelDB als Backend verwendet. Bootd auf Basis von systemd wird zur Initialisierung verwendet. Für die Verarbeitung von Multimedia-Inhalten stehen die Teilsysteme uMediaServer und Media Display Controller (MDC) zur Verfügung, wobei als Soundlösung Server PulseAudio verwendet wird. Für die automatische Aktualisierung der Firmware kommen OSTree und atomare Partitionsersetzungen zum Einsatz (es werden zwei Systempartitionen erstellt, von denen eine aktiv ist und die andere für das Kopieren des Updates verwendet wird).

Die wesentlichen Änderungen in der neuen Version:
- Unterstützung für Tastatur und Maus hinzugefügt. Der Kompositionsmanager LSM (Luna Surface Manager) wurde angepasst, um die Eingabe über Tastatur und Maus anstelle nur über den Touchscreen zu verwalten und zu organisieren. So kann beispielsweise eine Tastatur und Maus an ein mobiles Gerät oder einen Fernseher mit webOS angeschlossen werden, um sie als Arbeitsstation zu nutzen. Zudem wurde Unterstützung für Tastenkombinationen hinzugefügt, um schnell auf die Einstellungen (F1) und die Programmstartoberfläche (Start- oder Windows-Taste) zuzugreifen.
- Die Renderleistung wurde erhöht und die Qualität der Animationen in Anwendungen, die die Qt-Bibliothek verwenden, verbessert.
- Auf dem Homescreen (Home Launcher) wurden Komponenten und Ressourcen zur Anpassung von QML-Anwendungen hinzugefügt.
- Der Audiodienst audiod hat die Unterstützung für die Lautstärkeüberwachung erhalten.
- Ein Satz von Anwendungsbeispielen und Lösungen auf Basis von webOS wurde vorgeschlagen.
- Die Browser-Engine wurde auf Chromium 91 aktualisiert (zuvor wurde Chromium 87 verwendet). Im Web-Engine wurde GPU-Vsync für Wayland implementiert.
- Im Emulator wurde die Kompression des Swap-Bereichs (zram) und das Management von Speichermangel (oomd) integriert.
Quelle: opennet.ru
