La version de la plateforme ouverte webOS Open Source Edition 2.27 a été présentée, pouvant être utilisée sur divers appareils portables, cartes et systèmes d'information et de divertissement automobile. Les cartes Raspberry Pi 4 sont considérées comme la plateforme matérielle de référence. La plateforme est développée dans un dépôt public sous la licence Apache 2.0, et le développement est supervisé par la communauté, suivant un modèle de gestion collaborative.
Les principales modifications dans cette nouvelle version :
- Le moteur du navigateur a été mis à jour vers la version Chromium 120 (la version 108 était précédemment utilisée). L'application implémentant le navigateur Enact a été transférée à l'utilisation du concept de Browser Shell au lieu de App Shell, ce qui a permis d'élargir les fonctionnalités et la flexibilité du traitement du contenu. L'architecture App Shell implique l'utilisation d'une implementation personnalisée de l'interface utilisateur, où le contenu web est rendu, tandis que l'architecture Browser Shell consiste à utiliser les éléments d'interface standard du navigateur de base.
- Des fonctionnalités supplémentaires ont été ajoutées pour les applications web autonomes (PWA, Progressive Web Application), telles que le support de la navigation avec les boutons « précédent » et « suivant », un défilement plus fluide et la possibilité d'afficher des notifications push.
- L'efficacité du processus de compilation a été améliorée. Les extensions de fichiers d'image pour le démarrage dans l'émulateur ont été modifiées de « .wic.vmdk » à « wic.vmdk.gz ».
- Dans l'API com.webos.service.mediacontroller, qui forme l'interface de contrôle de lecture, une méthode setSupportedActions a été ajoutée pour définir la liste des opérations supportées (play, pause, next, previous, mute, unmute).
- Le service système luna-sysservice a été dissocié de Qt.
- Le framework Qt a été mis à jour vers la version 6.7.2.
- Une option a été ajoutée pour modifier les couleurs utilisées dans la configuration de l'application (paramètres).

La plateforme webOS a été initialement développée par Palm en 2008 et utilisée sur les smartphones Palm Pre et Pixie. En 2010, après l'acquisition de Palm, la plateforme est passée sous le contrôle de Hewlett-Packard, qui a tenté de l'utiliser dans ses imprimantes, tablettes, ordinateurs portables et PC. En 2012, HP a annoncé le passage de webOS à un projet open source indépendant et a commencé à ouvrir le code source de ses composants en 2013. Cette même année, la plateforme a été acquise par LG et est maintenant utilisée sur plus de 70 millions de téléviseurs et appareils consommateurs LG. En 2018, le projet webOS Open Source Edition a été fondé, permettant à LG de revenir à un modèle de développement ouvert, d'attirer d'autres participants et d'élargir la gamme des appareils pris en charge par webOS.
L'environnement système de webOS est formé à l'aide des outils et des paquets de base d'OpenEmbedded, ainsi que du système de construction et d'un ensemble de métadonnées du projet Yocto. Les composants clés de webOS incluent le gestionnaire de système et d'applications (SAM, System and Application Manager), qui est responsable de l'exécution des applications et des services, et le Luna Surface Manager (LSM), qui constitue l'interface utilisateur. Les composants sont écrits en utilisant le cadre Qt et le moteur de navigateur Chromium.
Le rendu est effectué via un gestionnaire de composition utilisant le protocole Wayland. Pour le développement d'applications personnalisées, il est recommandé d'utiliser des technologies web (CSS, HTML5 et JavaScript) et le cadre Enact basé sur React, mais il est également possible de créer des programmes en C et C++ avec une interface basée sur Qt. L'interface utilisateur et les applications graphiques intégrées sont principalement réalisées comme des programmes natifs écrits en utilisant la technologie QML. Par défaut, une interface appelée Home Launcher est proposée, optimisée pour la gestion sur des écrans tactiles et proposant un concept de cartes interchangeables (au lieu de fenêtres).
Pour le stockage des données sous forme structurée en utilisant le format JSON, un stockage DB8 est utilisé, qui fait appel à la base de données LevelDB en tant que backend. L'initialisation s'effectue à l'aide de bootd basé sur systemd. Pour le traitement du contenu multimédia, des sous-systèmes uMediaServer et Media Display Controller (MDC) sont proposés, et PulseAudio est utilisé pour le son. de serveurs L'actualisation automatique du firmware est assurée par OSTree et un remplacement atomique des partitions (deux partitions systèmes sont créées, l'une étant active tandis que l'autre est utilisée pour copier la mise à jour).
Source : opennet.ru
