De release van het open platform webOS Open Source Edition 2.10 is geïntroduceerd, dat kan worden gebruikt op verschillende draagbare apparaten, boards en auto-infotainmentsystemen. Raspberry Pi 4-kaarten worden beschouwd als het referentiehardwareplatform. Het platform is ontwikkeld in een openbare repository onder de Apache 2.0-licentie en de ontwikkeling staat onder toezicht van de gemeenschap, volgens een collaboratief ontwikkelingsbeheermodel.
Het webOS-platform werd oorspronkelijk in 2008 door Palm ontwikkeld en gebruikt op de Palm Pre en Pixie smartphones. Na de overname van Palm in 2010 werd het platform overgenomen door Hewlett-Packard, waarna HP probeerde het platform te gebruiken in zijn printers, tablets, laptops en pc's. In 2012 kondigde HP aan dat webOS zou worden omgezet in een onafhankelijk opensourceproject en begon in 2013 met het opensourcen van de componenten. In 2013 werd het platform door LG overgenomen van Hewlett-Packard en wordt het nu gebruikt op meer dan 70 miljoen LG-tv's en consumentenapparaten. In 2018 werd het webOS Open Source Edition-project opgericht, waarmee LG probeerde terug te keren naar een open ontwikkelingsmodel, andere bijdragers aan te trekken en het aantal apparaten dat door webOS wordt ondersteund, uit te breiden.
De webOS-systeemomgeving wordt gemaakt met behulp van OpenEmbedded-tools en basispakketten, evenals een build-systeem en een set metagegevens uit het Yocto-project. De belangrijkste componenten van webOS zijn de systeem- en applicatiebeheerder (SAM, Systeem- en Applicatiemanager), die verantwoordelijk is voor het draaien van applicaties en services, en de Luna Surface Manager (LSM), die de gebruikersinterface vormt. De componenten zijn geschreven met behulp van het Qt-framework en de Chromium-browserengine.
Het renderen gebeurt via een samengestelde manager die het Wayland-protocol gebruikt. Voor het ontwikkelen van maatwerkapplicaties wordt voorgesteld gebruik te maken van webtechnologieën (CSS, HTML5 en JavaScript) en het Enact-framework, gebaseerd op React, maar het is ook mogelijk om programma’s te maken in C en C++ met een Qt-gebaseerde interface. De gebruikersshell en ingebouwde grafische applicaties worden voornamelijk geïmplementeerd als native programma's die zijn geschreven met behulp van QML-technologie. De standaard Home Launcher-shell is geoptimaliseerd voor bediening via het aanraakscherm en biedt het concept van roterende kaarten (in plaats van vensters).

DB8-opslag wordt gebruikt om gestructureerde gegevens op te slaan in JSON-formaat, met de LevelDB-database als backend. Bootd, gebaseerd op systemd, wordt gebruikt voor initialisatie. De subsystemen uMediaServer en Media Display Controller (MDC) worden aangeboden voor het verwerken van multimedia-inhoud en audio. server PulseAudio wordt gebruikt. Voor automatische firmware-updates worden OSTree en atomaire partitievervanging gebruikt (er worden twee systeempartities aangemaakt, waarvan er één actief is en de andere wordt gebruikt om de update te kopiëren).
Belangrijkste wijzigingen in de nieuwe release:
- Het Storage Access-framework is geïmplementeerd en biedt één interface voor toegang tot verschillende opslagmedia, waaronder interne opslag, USB-sticks en cloudopslagsystemen (momenteel wordt alleen Google Drive ondersteund). Met het framework kunt u documenten, afbeeldingen en bestanden van alle geconfigureerde opslagproviders bekijken en openen via een gemeenschappelijke gebruikersinterface.
- De browserengine zorgt ervoor dat sessie- en authenticatiecookies in gecodeerde vorm worden opgeslagen.
- Er is een nieuwe Peripheral Manager-service toegevoegd voor het beheer van randapparatuur. Deze service ondersteunt interactie met apparaten via GPIO-, SPI-, I2C- en UART-interfaces. Met deze service kunt u het beheer van nieuwe apparaten organiseren zonder de broncode van het platform te wijzigen.
- De mogelijkheden van het ACG-toegangscontrolemodel (Access Control Groups), dat wordt gebruikt om de rechten van services die Luna Bus gebruiken te beperken, zijn uitgebreid. In de nieuwe release zijn alle oude services die voorheen het oude beveiligingsmodel gebruikten, overgezet naar ACG. De syntaxis van ACG-regels is gewijzigd.
Bron: opennet.ru
