Desenvolvimento

29 jan, 2019

Conheça o Carlo, a nova plataforma de renderização web em Node.js do Google

visualizações
Publicidade

O Google anunciou o lançamento do Carlo, sua plataforma de renderização web em Node.js. A novidade usa o Puppeteer para a comunicação entre os aplicativos Node.js e o Chrome.

Ao contrário do Electron, que atualmente é o líder de mercado no segmento, o Carlo não tenta empacotar uma versão específica de Chrome e Node.js. Ele usa qualquer versão do browser já instalada na máquina do usuário.

No Carlo não é possível alterar o nome, o menu ou o ícone de visualização no navegador. Na verdade, ele se parece mais com algo que roda um aplicativo em um servidor local de apps e automatiza sua visualização no Chrome. E ele se comunica com a instância do Chrome através do Puppeteer e seu protocolo Devtools.

Um ponto interessante é que os aplicativos baseados em Carlo não precisam ser atualizados toda vez que o browser é. Mas um ponto negativo é que qualquer nova versão do Chrome pode interromper a funcionalidade de um aplicativo. Os aplicativos retornarão um erro se não puderem localizar uma instalação do Chrome versão 70 ou superior.

O pacote pkg é recomendado para empacotar os aplicativos Carlo em binários executáveis e
a abordagem incentivada deve se adequar bem para Progressive Web Apps.

O que é web versus o que não é

Provavelmente, a plataforma reacenderá o debate sobre “o que é web vs. o que não é”. O engenheiro do Google, Alex Russell, já havia argumentado que ambientes como o Electron não são da web quando disse que “muitas plataformas tentaram possibilitar o acesso a recursos ‘exóticos’ e, ao mesmo tempo, permitir que os desenvolvedores construíssem com a tecnologia web de client-side. Ao fazê-lo, geralmente descartam um ou mais aspectos do sistema de valores compartilhados. E não são ruins – muitos são tecnicamente brilhantes – mas não são da web”.

Carlo está disponível sob a licença open source Apache 2. Contribuições são bem-vindas através do projeto Carlo no GitHub e devem seguir as diretrizes de contribuição do Carlo e as diretrizes de conduta de código aberto do Google.