Die Ausgabe der offenen Plattform webOS Open Source Edition 2.15 wurde veröffentlicht, die auf verschiedenen tragbaren Geräten, Boards und Fahrzeug-Infotainmentsystemen verwendet werden kann. Die Raspberry Pi 4 Boards werden als Referenzhardware betrachtet. Die Plattform wird in einem öffentlichen Repository unter der Apache 2.0-Lizenz entwickelt und die Entwicklung wird von der Community geleitet, die sich an einem gemeinsamen Entwicklungsmodell orientiert.
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).

Die wichtigsten Änderungen in der neuen Version:
- Unterstützung für Tastatur und Maus wurde hinzugefügt. Der Composite Manager LSM (Luna Surface Manager) wurde angepasst, um die Eingabe über Tastatur und Maus zu steuern und zu organisieren, anstatt nur über den Touchscreen. Beispielsweise kann eine Tastatur und Maus an ein mobiles Gerät oder einen auf webOS basierenden Fernseher angeschlossen werden, um als Arbeitsstation verwendet zu werden. Außerdem wurde die Unterstützung für Tastenkombinationen verbessert, um schnell auf die Einstellungen (F1) und die Programmauswahloberfläche (Start- oder Windows-Taste) zuzugreifen.
- Die Rendering-Leistung wurde erhöht und die Qualität der Animationen in Anwendungen, die die Qt-Bibliothek verwenden, verbessert.
- Im Home Launcher wurden Komponenten und Ressourcen für die Anpassung von QML-Anwendungen hinzugefügt.
- Der Service zur Verwaltung von Audio hat die Unterstützung für die Lautstärkeüberwachung integriert.
- Eine Sammlung von Anwendungsbeispielen und Lösungen für webOS wurde vorgestellt.
- Die Browser-Engine wurde auf Chromium 91 aktualisiert (zuvor wurde Chromium 87 verwendet). Im Web-Engine wurde die Unterstützung für GPU-Vsync unter Wayland implementiert.
- Im Emulator wurde die Komprimierung des Swap-Bereichs (zram) und das Management des Speichermangels (oomd) hinzugefügt.
Quelle: opennet.ru
