De release van de open source webOS Open Source Edition 2.10 is aangekondigd, die kan worden toegepast op verschillende draagbare apparaten, borden en infotainmentsystemen in voertuigen. Als referentie-hardwareplatform worden de Raspberry Pi 4-borden beschouwd. Het platform wordt ontwikkeld in een openbaar repository onder de Apache 2.0-licentie, en de ontwikkeling wordt gecoƶrdineerd door de gemeenschap volgens een gezamenlijk ontwikkelingsmodel.
Het webOS-platform werd oorspronkelijk in 2008 ontwikkeld door Palm en werd gebruikt op de smartphones Palm Pre en Pixie. Na de overname van Palm in 2010 kwam het platform in handen van Hewlett-Packard, die probeerde het platform te gebruiken in hun printers, tablets, laptops en pc's. In 2012 kondigde HP aan webOS om te zetten in een onafhankelijk open project en begon in 2013 met het vrijgeven van de broncode van de componenten. In 2013 werd het platform door LG gekocht van Hewlett-Packard en wordt het nu gebruikt op meer dan 70 miljoen LG-tv's en consumentenelektronica. In 2018 werd het project webOS Open Source Edition opgericht, waardoor LG probeerde terug te keren naar een open ontwikkelingsmodel, andere deelnemers aan te moedigen en het bereik van ondersteunde apparaten in webOS uit te breiden.
De systeemomgeving van webOS wordt gevormd met behulp van tools en basispakketten van OpenEmbedded, evenals een build-systeem en een set metadata van het Yocto-project. Belangrijke componenten van webOS zijn de systeem- en applicatiebeheerder (SAM, System and Application Manager), die verantwoordelijk is voor het uitvoeren 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 browser-engine Chromium.
De rendering wordt uitgevoerd via een compositor management dat het Wayland-protocol gebruikt. Voor de ontwikkeling van gebruikersapplicaties wordt aanbevolen om webtechnologieƫn (CSS, HTML5 en JavaScript) en het Enact-framework, dat is gebaseerd op React, te gebruiken, maar het is ook mogelijk om programma's in C en C++ met een Qt-gebaseerde interface te maken. De gebruikersshell en ingebouwde grafische applicaties zijn grotendeels gerealiseerd als native applicaties, geschreven met behulp van QML-technologie. Standaard wordt de Home Launcher-shell aangeboden, die is geoptimaliseerd voor bediening via aanraakschermen en het concept van verwisselende kaarten biedt (in plaats van vensters).

Voor het opslaan van gegevens in een gestructureerd formaat met behulp van JSON wordt de DB8-opslag gebruikt, die LevelDB als backend gebruikt. Voor de initialisatie wordt bootd gebruikt, gebaseerd op systemd. Voor de verwerking van multimedia-inhoud zijn er subsysteem uMediaServer en Media Display Controller (MDC) beschikbaar, als geluid. de server PulseAudio wordt gebruikt. Voor automatische updates van de firmware wordt OSTree gebruikt en wordt er een atomische sectievervanging toegepast (er worden twee systeemsecties aangemaakt, waarvan er ƩƩn actief is en de andere wordt gebruikt voor het kopiƫren van de update).
Belangrijke veranderingen in de nieuwe release:
- Het Storage Access-framework is geĆÆmplementeerd, dat een uniforme interface biedt voor toegang tot verschillende opslagmedia, waaronder interne opslag, USB-sticks en cloudopslag (momenteel wordt alleen Google Drive ondersteund). Het framework stelt gebruikers in staat om via een gemeenschappelijke gebruikersinterface documenten, afbeeldingen en bestanden van alle geconfigureerde opslagproviders te bekijken en te openen.
- In de browserengine is het mogelijk om sessie- en authenticatiecookies in versleutelde vorm op te slaan.
- Een nieuwe service, Peripheral Manager, is toegevoegd voor het beheren van randapparatuur, die interactie met apparaten via GPIO-, SPI-, I2C- en UART-interfaces ondersteunt. De service maakt het mogelijk om nieuwe apparaten te beheren zonder de broncode van het platform te wijzigen.
- De mogelijkheden van het toegangsbeheermodel ACG (Access Control Groups) zijn uitgebreid. Dit model wordt gebruikt om de bevoegdheden van diensten die gebruikmaken van Luna Bus te beperken. In deze nieuwe versie zijn alle oude diensten die eerder het oude beveiligingsmodel gebruikten, naar ACG overgezet. De syntaxis van de ACG-regels is veranderd.
Bron: opennet.ru
