È stata pubblicata la versione 2.19 della piattaforma open source webOS Open Source Edition, utilizzabile su vari dispositivi portatili, schede e sistemi infotainment automobilistici. Come piattaforma hardware di riferimento, vengono considerate le schede Raspberry Pi 4. La piattaforma è in fase di sviluppo in un repository pubblico con licenza Apache 2.0, e lo sviluppo è curato dalla community, seguendo un modello di governance collaborativa.
La piattaforma webOS è stata originariamente sviluppata da Palm nel 2008 e utilizzata sugli smartphone Palm Pre e Pixie. Dopo l'acquisizione di Palm nel 2010, la piattaforma è passata nelle mani di Hewlett-Packard, che ha cercato di utilizzare questa tecnologia nelle proprie stampanti, tablet, laptop e PC. Nel 2012, HP ha annunciato la trasformazione di webOS in un progetto open source indipendente e nel 2013 ha iniziato a rendere disponibili i codici sorgente dei suoi componenti. Nel 2013, la piattaforma è stata acquistata da LG e ora viene utilizzata su oltre 70 milioni di televisori e dispositivi di consumo LG. Nel 2018 è stato fondato il progetto webOS Open Source Edition, attraverso il quale LG ha cercato di tornare a un modello di sviluppo aperto, coinvolgendo altri partecipanti e ampliando il numero di dispositivi supportati da webOS.
L'ambiente di sistema webOS è costituito utilizzando strumenti e pacchetti base di OpenEmbedded, insieme a un sistema di build e a un set di metadati del progetto Yocto. I componenti chiave di webOS includono il gestore di sistema e applicazioni (SAM, System and Application Manager), responsabile dell'esecuzione di applicazioni e servizi, e il Luna Surface Manager (LSM), che forma l'interfaccia utente. I componenti sono scritti utilizzando il framework Qt e il motore del browser Chromium.
Il rendering avviene tramite un compositore che applica il protocollo Wayland. Per lo sviluppo di applicazioni utente, si consiglia di utilizzare tecnologie web (CSS, HTML5 e JavaScript) e il framework Enact, basato su React, ma è possibile anche creare programmi in C e C++ con interfacce basate su Qt. L'interfaccia utente e le applicazioni grafiche integrate sono principalmente realizzate come programmi nativi, scritti utilizzando la tecnologia QML. Di default, viene offerto l'interfaccia Home Launcher, ottimizzata per la gestione tramite touchscreen e che propone un concetto di schede che si alternano (invece di finestre).
Per archiviare i dati in un formato strutturato JSON, viene utilizzato il database DB8, che impiega LevelDB come backend. L'inizializzazione avviene tramite bootd basato su systemd. Per la gestione dei contenuti multimediali, sono disponibili i sottosistemi uMediaServer e Media Display Controller (MDC), utilizzando PulseAudio per l'audio. server Per l'aggiornamento automatico del firmware si utilizza OSTree e la sostituzione atomica delle partizioni (vengono create due partizioni di sistema, una delle quali è attiva, mentre l'altra viene utilizzata per copiare l'aggiornamento).
Le principali novità di questa versione:
- È stata migliorata l'app Home, nella quale è stata aggiunta una barra di stato con un elenco delle funzionalità più frequentemente utilizzate. È stata fornita la possibilità di modificare liberamente il contenuto del pannello delle applicazioni. Sono stati aggiunti nuovi gesti touch.

- È stata inclusa l'app Video Call per effettuare videochiamate e tenere videoconferenze virtuali. Attualmente, supporta solo la connessione tramite Cisco Webex e Microsoft Teams.

- È stato fornito un ambiente da riga di comando per creare applicazioni proprie con portafogli blockchain, che semplifica operazioni come la firma delle transazioni e la registrazione di queste transazioni nella blockchain.
- Nel browser Enact è stata aggiunta la supporto per un servizio di rilevamento malware e implementata una finestra pop-up per richiedere autorizzazioni all'utente.
- Nel settore audio server è stata aggiunta la supporto per il rilevamento di dispositivi audio integrati ed esterni. Nel servizio di sistema (Sys Service) è stata aggiunta la supporto per dispositivi audio secondari (subdevices), schede audio integrate e telecamere MIPI. In PulseAudio è stato implementato il meccanismo di cancellazione dell'eco ECNR (Echo Cancellation Noise Reduction).
- I componenti della piattaforma per la creazione di sistemi Linux embedded Yocto sono stati aggiornati alla versione 4.0.
- Il motore del browser è stato aggiornato alla versione Chromium 94 (in precedenza era utilizzato Chromium 91). Per le web app di webOS è stata aggiunta la possibilità di utilizzare controller.
- Aggiornati i caratteri Noto (aggiunta la supporto per i simboli Unicode 15.0.0).
- È avvenuto il passaggio a Qt 6.4. Il framework web Enact è stato aggiornato alla versione 4.5.0.
Fonte: opennet.ru


