banner

Webkit é o motor de renderização web usado no Apple Safari, também usado previamente no Chrome (que agora usa um fork do Webkit), e usado em vários outros pequenos navegadores e aplicativos. É perfeito para ser embutido em aplicações que precisam renderizar HTML/JS/CSS.

Foi o que usei no meu cliente simples para o Slack, ScudCloud, que é uma aplicação Qt tradicional. É uma abordagem diferente do cliente oficial: ele (o cliente oficial) usa o Electron, que usa Node.js como runtime e o Chromium para renderizar o front end. Conforme descrito na Wikipedia:

Ele permite o desenvolvimento de aplicações gráficas para desktop usando componentes originalmente desenvolvidos para aplicações web.

Ou seja, temos um navegador inteiro incluído ao invés de apenas um motor web. Ao mesmo tempo que isso permite que pessoas sem bagagem no deselvolvimento para desktop possam desenvolver uma versão empacotada do seu site, ou ainda fazer um programa desktop usando tecnologias web, isso vai cobrar seu peso no uso da memória.

O webkit é empacotado para diversos sistemas, incluindo o Ubuntu, mas tem um problema: a versão incluída no 16.04 parou de funcionar corretamente com as últimas atualizações do Slack, devido ao uso de CSS mais atual, que é renderizado de forma precária no webkit padrão da distribuição.

Muitas vezes, pra contornar isso, eu reescrevia algumas regras de CSS/JS no ScudCloud usando uma sintaxe mais antiga, mas desta vez tentei usar uma abordagem diferente: atualizar o webkit usado no Ubuntu.

A tarefa não seria nada fácil, mas para minha sorte, encontrei algumas pessoas que também preferem embutir o webkit, e que estavam produzindo pacotes mais atualizados para o Debian.

Então, usando o código fonte do pacote, publiquei a versão atualizada no PPA do ScudCloud, que será atualizada automaticamente para quem estiver usando o ScudCloud no Ubuntu 16.04.