Foi lançado o webOS Open Source Edition 2.14, uma plataforma que pode ser utilizada em diversos dispositivos portáteis, placas e sistemas de informação e entretenimento automotivo. As placas Raspberry Pi 4 são consideradas como plataforma de hardware de referência. A plataforma é desenvolvida em um repositório público sob a licença Apache 2.0, e o desenvolvimento é coordenado pela comunidade, seguindo um modelo colaborativo de gestão.
A plataforma webOS foi originalmente desenvolvida pela Palm em 2008 e foi usada nos smartphones Palm Pre e Pixie. Em 2020, após a aquisição da Palm, a plataforma passou para a Hewlett-Packard, que tentou utilizá-la em suas impressoras, tablets, laptops e PCs. Em 2012, a HP anunciou a transição do webOS para um projeto aberto independente e, em 2013, começou a liberar o código-fonte de seus componentes. Em 2013, a plataforma foi comprada da Hewlett-Packard pela LG e agora é utilizada em mais de 70 milhões de TVs e dispositivos de consumo da LG. Em 2018, o projeto webOS Open Source Edition foi fundado, através do qual a LG tentou voltar ao modelo de desenvolvimento aberto, atrair outros participantes e expandir o alcance dos dispositivos suportados pelo webOS.
O ambiente do sistema webOS é formado utilizando ferramentas e pacotes básicos do OpenEmbedded, além de um sistema de construção e um conjunto de metadados do projeto Yocto. Os componentes-chave do webOS incluem o Gerenciador de Sistema e Aplicativos (SAM, System and Application Manager), responsável pela execução de aplicativos e serviços, e o Gerenciador de Superfície Luna (LSM), que compõe a interface do usuário. Os componentes são escritos utilizando o framework Qt e o motor de navegador Chromium.
A renderização é realizada através do gerenciador de composição, que utiliza o protocolo Wayland. Para o desenvolvimento de aplicativos personalizados, recomenda-se o uso de tecnologias web (CSS, HTML5 e JavaScript) e do framework Enact, baseado em React, mas também é possível desenvolver programas em C e C++ com interface baseada em Qt. A interface do usuário e os aplicativos gráficos integrados são, em sua maioria, implementados como programas nativos escritos usando tecnologia QML. Por padrão, a interface Home Launcher é oferecida, otimizada para gerenciamento em telas sensíveis ao toque e que apresenta a concepção de cartas que se alternam (em vez de janelas).

Para o armazenamento de dados em formato estruturado usando JSON, é utilizado o armazenamento DB8, que emprega como backend o banco de dados LevelDB. A inicialização é feita com bootd baseado em systemd. Para o processamento de conteúdo multimídia, são oferecidos os subsistemas uMediaServer e Media Display Controller (MDC), sendo utilizado PulseAudio para som. servidor Para a atualização automática do firmware, é utilizado o OSTree e a substituição atômica de partições (são criadas duas partições do sistema, uma ativa e a outra usada para copiar a atualização).
Mudanças principais na nova versão:
- Entre os exemplos de aplicativos oferecidos por padrão, está um programa para câmeras. O programa fornece funcionalidade básica para tirar fotos e gravar vídeos, podendo ser utilizado como base para o desenvolvimento de aplicativos mais avançados para câmeras.
- Foi realizada a transição para a formação de builds de 64 bits, incluindo builds para a placa Raspberry Pi 4 (rpi4-64) e para o emulador (qemux86). O suporte a builds de 32 bits foi declarado obsoleto.
- Uma extensão para o editor de código aberto Visual Studio Code foi proposta, facilitando o desenvolvimento de aplicativos web específicos para o webOS, aplicativos Enact e serviços em JavaScript.
- O serviço de resposta rápida à falta de memória no sistema systemd-oomd foi ativado, permitindo identificar o início de atrasos devido à falta de recursos e finalizar seletivamente processos que consomem muitos recursos em um estágio em que o sistema ainda não está em um estado crítico e não começou a cortar intensamente o cache e a trocar dados para a partição de swap.
- No Network Manager foi configurado para iniciar o serviço wpa-supplicant nas compilações para placas Raspberry Pi 4.
- Na compilação para o emulador, foram adicionados os arquivos executáveis occlientbasicops e ocserverbasicops, e as regras udev para o módulo LGE UWB foram atualizadas.
- No componente g-camera-pipeline, a funcionalidade relacionada à gravação de áudio foi aprimorada.
- O motor do navegador foi atualizado para Chromium 91.
- Os componentes da plataforma para a criação de sistemas Linux embutidos Yocto foram atualizados para a versão 3.1.
- No Memory Manager, a manipulação de sinais D-Bus foi implementada.
Além disso, é importante mencionar o projeto OpenLGTV, que trabalha na engenharia reversa de firmwares para TVs LG, visando expandir sua funcionalidade, corrigir erros e verificar a conformidade com as licenças copyleft ao usar componentes abertos em firmwares (firmwares parcialmente abertos). O projeto desenvolve a ferramenta epk2extract para extrair e descriptografar firmwares e vários dados de TVs LG, Hisense, Sharp, Philips/TPV e Thompson, e também o repositório de pacotes webOS Brew e ferramentas para obter direitos de root na TV (RootMyTV). O projeto fornece ambientes de compilação para a criação de imagens de sistema para TVs baseadas nas placas LG NC4 e LG115x, e firmwares modificados antigos para TVs Saturn S6, Saturn S7 e LG 2010 e 2011 baseadas em chips Broadcom.
Fonte: opennet.ru
