È stato presentato il rilascio della piattaforma aperta webOS Open Source Edition 2.10, che può essere utilizzata su vari dispositivi portatili, schede e sistemi di infotainment automobilistico. Come piattaforma hardware di riferimento vengono considerate le schede Raspberry Pi 4. La piattaforma è in fase di sviluppo in un repository pubblico sotto licenza Apache 2.0, con la supervisione della comunità che segue un modello di sviluppo collaborativo.
La piattaforma webOS è stata originariamente sviluppata da Palm nel 2008 ed è stata utilizzata sugli smartphone Palm Pre e Pixie. A seguito dell'acquisizione di Palm nel 2010, la piattaforma è passata a Hewlett-Packard, che ha cercato di utilizzarla 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 pubblici i codici sorgente dei suoi componenti. Nel 2013, la piattaforma è stata acquistata da LG da Hewlett-Packard 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 la gamma 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:
- È stato implementato il framework Storage Access, che fornisce un'interfaccia unica per accedere a diverse memorie, inclusi lo storage interno, le chiavette USB e i sistemi di archiviazione cloud (attualmente supportato solo Google Drive). Il framework consente, attraverso un'interfaccia utente comune, di visualizzare e aprire documenti, immagini e file provenienti da tutti i provider di archiviazione configurati.
- Il motore del browser ora garantisce il salvataggio di cookie di sessione e di autenticazione in formato crittografato.
- È stato aggiunto un nuovo servizio Peripheral Manager per la gestione dei dispositivi periferici, che supporta l'interazione con i dispositivi tramite interfacce GPIO, SPI, I2C e UART. Questo servizio consente di gestire nuovi dispositivi senza modificare i codici sorgente della piattaforma.
- Sono state ampliate le funzionalità del modello di controllo accessi ACG (Access Control Groups), utilizzato per limitare le autorizzazioni dei servizi che impiegano Luna Bus. Nella nuova versione, tutti i vecchi servizi sono stati migrati ad ACG, in precedenza utilizzanti il vecchio modello di sicurezza. La sintassi delle regole ACG è stata modificata.
Fonte: opennet.ru
