Die Veröffentlichung der offenen Plattform webOS Open Source Edition 2.24 wurde vorgestellt, die auf verschiedenen tragbaren Geräten, Platinen und Fahrzeug-Infotainmentsystemen eingesetzt werden kann. Als Referenzhardware-Plattform werden Raspberry Pi 4-Platinen betrachtet. Die Plattform wird in einem öffentlichen Repository unter der Apache 2.0-Lizenz weiterentwickelt, und die Entwicklung wird von der Community gemäß einem kollaborativen Entwicklungsmodell unterstützt.
Die wesentlichen Änderungen in der neuen Version:
- Es wurde ein Refactoring der Multimedia-Dienste durchgeführt, das darauf abzielt, die Bindungen zwischen den Multimedia-Diensten für die Arbeit mit der Kamera und dem Medienserver (uMediaServer) zu eliminieren, wodurch die Entwickler gezwungen waren, Methoden aus verschiedenen APIs aufzurufen, um bestimmte Funktionen zu implementieren.
- Ein neuer universeller Dienst com.webos.service.mediarecorder wurde hinzugefügt, um Videos von der Kamera und Audio vom Mikrofon aufzuzeichnen.
- Eine separate Funktionalität zur Organisation der Datenvorschau von der Kamera wurde implementiert, die sich ausschließlich auf die API com.webos.service.camera2 stützt (früher musste die API com.webos.service.camera2 zusammen mit com.webos.media verwendet werden).
- Die Browser-Engine wurde auf die Codebasis Chromium 108 aktualisiert (zuvor wurde Chromium 94 verwendet).
- Die Unterstützung für den Build mit Qt 6.7.0 wurde sichergestellt.
- Das Speichermanagement im Kamerakomponenten g-camera-pipeline wurde verbessert.
- Im Enact-Browser wurde das Problem mit der Aktualisierung der URL in der Adressleiste behoben.
- Im Emulator wurden Probleme mit dem Bau von herkömmlichen Qt-Anwendungen behoben.
- Die API com.palm.service.tellurium, die für die Interaktion mit Web-Anwendungen vorgesehen ist, wurde dokumentiert.
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).

Quelle: opennet.ru
