La version de la plateforme ouverte webOS Open Source Edition 2.24 a été publiée, pouvant être utilisée sur divers appareils portables, cartes et systèmes d'infodivertissement automobile. Les cartes Raspberry Pi 4 sont considérées comme la plateforme matérielle de référence. La plateforme évolue dans un référentiel public sous licence Apache 2.0, avec un développement soutenu par la communauté selon un modèle de gestion collaborative.
Les principales modifications dans cette nouvelle version :
- Une refonte des services multimédias a été effectuée, visant à éliminer les dépendances entre les services médias pour le fonctionnement de la caméra et du serveur multimédia (uMediaServer), qui obligeaient le développeur à appeler des méthodes à partir de différentes API pour certaines fonctionnalités.
- Un nouveau service universel com.webos.service.mediarecorder a été ajouté pour enregistrer des vidéos à partir de la caméra et du son à partir du microphone.
- Une fonctionnalité distincte pour l'organisation de l'aperçu des données de la caméra a été mise en œuvre, liée uniquement à l'API com.webos.service.camera2 (auparavant, il était nécessaire d'utiliser à la fois l'API com.webos.service.camera2 et com.webos.media).
- Le moteur de navigateur a été mis à jour vers la base de code Chromium 108 (précédemment, Chromium 94 était utilisé).
- La prise en charge de la compilation avec Qt 6.7.0 a été assurée.
- La gestion de la mémoire dans le composant de fonctionnement avec la caméra g-camera-pipeline a été améliorée.
- Dans le navigateur Enact, le problème de mise à jour de l'URL dans la barre d'adresse a été résolu.
- Des problèmes de compilation des applications Qt classiques ont été résolus dans l'émulateur.
- L'API com.palm.service.tellurium, destinée à l'interaction avec les web-applications, a été documentée.
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
