Pela primeira vez em anos, alguém está construindo um navegador web do zero

É uma das tarefas mais assustadoras do software. Mas começando com uma lousa em branco, a Flow quer tornar a navegação na Web melhor em hardware barato.

Captura de tela: Ekioh

Por mais de duas décadas, construir um novo navegador do zero tem sido praticamente inédito. Mas uma pequena empresa chamada Ekioh tem suas razões.

A empresa sediada em Cambridge, reino Unido, está desenvolvendo um navegador chamado Flow, e ao contrário da grande maioria dos navegadores que chegaram nos últimos anos, não é baseado no Chromium do Google ou no código de código aberto WebKit da Apple. Em vez disso, flow está começando com uma ardósia em branco e construindo seu próprio motor de renderização. Seu objetivo é fazer com que os aplicativos baseados na Web funcionem sem problemas mesmo em microcomputadores baratos, como o Raspberry Pi.

Há uma razão pela qual as empresas não fazem mais isso: especialistas dizem que construir novos navegadores não vale a pena quando qualquer pessoa pode apenas modificar o trabalho que a Apple e o Google estão fazendo. Mas se o Flow tiver sucesso, ele pode repensar a maneira como navegamos na web e abrir a porta para aparelhos mais baratos. Isso pelo menos parece um objetivo que vale a pena perseguir.

“É uma tarefa enorme, mas se você quer algo muito pequeno e muito rápido, você normalmente não pode começar com um dos outros motores”, diz Stephen Reeder, diretor comercial da Ekioh.

Feito do zero não mais

Mesmo que você não use o Google Chrome, Apple Safari ou Mozilla Firefox, você está quase certamente usando os mecanismos de renderização desses navegadores.

Vivaldi, Brave, Opera e Microsoft’s Edge contam com o motor Blink do Google e o código-fonte aberto Chromium como base para seus navegadores desktop e Android. Isso porque a web é muito mais complexa do que costumava ser, e os navegadores da Web tornaram-se peças complicadas de software junto com ela. O Chromium, por exemplo, tem mais de 25 milhões de linhas de código, de acordo com o Open Hub, e recebeu contribuições de mais de 8.100 desenvolvedores.

“Nós essencialmente transformamos essa ideia de que a web é sobre um monte de páginas, talvez com um pouco de interação e animação . . . para essencialmente o navegador se tornar um sistema operacional”, diz John Allsopp, um designer de web veterano e fundador da conferência Web Directions.

Como resultado, a maioria dos fabricantes de navegadores se afastou da construção e manutenção de seus próprios motores. A Microsoft desistiu do seu motor EdgeHTML há alguns anos, mudando para uma versão do Edge baseada no Chromium e no motor Blink no início de 2020. A Ópera tinha feito o mesmo em 2013,abandonando seu venerável motor Presto e adotando o Chromium.

Compondo o assunto está a Apple, que exige que todos os navegadores de terceiros no iOS usem seu próprio mecanismo WebKit, ostensivamente por razões de segurança. Mesmo a Mozilla, que desenvolve seu próprio motor Gecko para o Firefox como uma questão de princípio,ainda tem que usar o WebKit no iOS. Não ser permitido usar um mecanismo de navegação diferente em uma das maiores plataformas de computação do mundo poderia dissuadir ainda mais os desenvolvedores de tentar fazer o seu próprio.

Chris Coyier, cofundador do CodePen e criador do CSS-Tricks,diz que devido ao avanço que os grandes navegadores já têm, construir um mecanismo de navegador competitivo seria um esforço bilionário sem um pagamento claro. Ele argumentou que os fabricantes de navegadores podem se concentrar em recursos voltados para o usuário, como o Brave com seu foco em privacidade ou Vivaldi com sua personalização extrema, em vez de melhorias nos bastidores do mecanismo de renderização.

“Não é um jogo que vale a pena jogar”, diz Coyier por e-mail. “Um jogo melhor é: como podemos fazer os [navegadores] que já temos melhores?”

Novo navegador, novos negócios

Então por que Ekioh está se incomodando? Com flow, a empresa vê uma chance de jogar um jogo totalmente diferente. Em vez de assumir grandes navegadores diretamente, ele está construindo um navegador em torno de usos específicos onde um novo motor de renderização teria benefícios claros.

O negócio da Ekioh está no fornecimento de aplicativos baseados na Web em sistemas embarcados, como caixas de TV conectadas, displays inteligentes e painéis de carros. Nestes tipos de dispositivos, Ekioh acredita que um recurso chamado layout multithreaded poderia melhorar consideravelmente o desempenho, especialmente para coisas como animações e efeitos.

“Em poucas palavras, o que torna o Flow diferente dos outros navegadores é o seu desempenho”, diz Stephen Reeder, da Ekioh.

Como exemplo, Reeder diz considerar um botão que se expande em tamanho e exibe algum texto explicativo enquanto você rola sobre ele. Em um dispositivo de baixa potência, esse tipo de animação pode ser difícil de conseguir, especialmente se apenas um único núcleo de processamento está fazendo todo o trabalho. Com o navegador do Flow, os aplicativos podem acessar vários núcleos de processamento em dispositivos como o Raspberry Pi, facilitando animações complexas.

“Podemos colocar o texto para fora, alterar o tamanho e animar tudo isso ao mesmo tempo, para que você obtenha uma interface do usuário mais rica”, diz ele.

Além disso, o Flow suporta um recurso chamado renderização de GPU, no qual o processador gráfico de um computador é totalmente responsável por desenhar objetos em uma página. Isso usa muito menos memória do que ter o processador principal do computador fazendo parte do trabalho, levando a um desempenho mais rápido em dispositivos baratos onde a memória é limitada.

Enquanto outros mecanismos de navegação podem acessar multithreading para malabarismo de guias do navegador, e alguns começaram a se desarcar na renderização de GPU, eles não foram projetados para lançar vários núcleos de processador em uma única página da Web. Reeder diz que se eles quisessem fazer isso, eles provavelmente teriam que reescrever seu código do zero.

“Isso realmente é um redesenho do mecanismo principal do navegador”, diz ele. “Não é algo que você pode retrofit.”

Talvez mais importante, o modelo de negócios da Ekioh para a Flow evita as armadilhas típicas do negócio de navegadores. Em vez de tentar escalar e monetizar uma audiência em torno de parceiros de pesquisa ou publicidade, planeja licenciar o software para fornecedores de eletrônicos, lançando-o como uma maneira menos cara de construir produtos mais rápidos e responsivos.

“Se há um produto que tem qualquer forma de interface gráfica de usuário nele, há um potencial para usar HTML”, diz Reeder, referindo-se ao idioma em que todas as páginas da Web dependem. “Se você pode criar um produto com um pouco menos de memória e um processador um pouco mais lento e ainda alcançar a mesma experiência do cliente, então esse produto será mais barato.”

Não para uso de desktop (ainda)

Ekioh espera que a Flow comece a aparecer em produtos reais ainda este ano, mas qualquer um pode brincar com ele em um Raspberry Pi agora. (A empresa adicionou suporte para versões mais antigas do que a raspberry pi 4 atual na semana passada.)

Mesmo assim, não é algo que você gostaria de usar no lugar do Chrome ou Firefox. A versão atual não suporta guias, marcadores ou extensões, e depende da navegação do teclado para funções básicas, como frente e para trás. Depois de passar pela página de boas-vindas do Flow, você nem consegue uma barra de endereços.

Reeder diz que a empresa quer se concentrar no mecanismo de renderização principal antes de considerar se deve adicionar mais recursos voltados para o usuário. O motor sozinho é um grande empreendimento, e toda vez que a Ekioh testa o Flow em um lote de novos sites, ele encontra novos recursos que precisa implementar.

“A conclusão de onde isso poderia ir poderia muito bem ser um navegador de desktop, mas ainda não chegamos lá”, diz ele.

Ecos de uma Era Anterior

Ainda assim, a mera ideia de um novo motor de renderização é emocionante para alguns especialistas no espaço de navegação na web.

Rachel Nabors, ex-gerente de programas do navegador Edge da Microsoft que também escreveu um livro sobre animação na web,diz que mesmo em meio a uma proliferação de aplicativos, gráficos e animações baseados na Web ainda pode parecer uma reflexão posterior para os fabricantes de navegadores. Para ela, o layout multi-lido da Flow e a renderização de GPU são um sopro de ar fresco.

“O desenvolvimento do navegador ainda está muito mergulhado no navegador como leitor de documentos”, diz ela. “Sempre foi um pouco estranho que os fabricantes de navegadores tenham ficado para trás na criação de gráficos performáticos para a web.”

Embora flow seja apenas um ponto fraco na cena do navegador hoje, você nunca sabe para onde ele pode ir.

Parte da emoção também é mais abstrata: Com o desenvolvimento do navegador principal em grande parte nas mãos da Apple e do Google, há o medo de que a web sofra de uma “monocultura” e perca seu espírito independente. Chris Beard, ex-CEO da Mozilla, expressou essa preocupação no final de 2018,quando a Microsoft abandonou seu próprio mecanismo de navegador em favor do Chromium e blink.

“De uma perspectiva de empoderamento social, cívico e individual, o controle da infraestrutura on-line fundamental para uma única empresa é terrível”, escreveu Beard na época.

Na prática, essa preocupação é um pouco exagerada nos dias de hoje. Como colaboradora do Chromium, a própria Microsoft agora tem alguma opinião sobre a direção do navegador, assim como empresas externas como a Igalia, um grupo de consultoria que ajuda as empresas a obter novos recursos implementados nos principais navegadores.

Mas, como aponta Brian Kardell, advogado desenvolvedor da Igalia, uma cultura diversificada de navegadores ainda tem seus méritos. Mesmo sem falta de entrada externa, construir motores de navegador é um processo caro e demorado que gigantes da tecnologia como Apple e Google estão financiando em grande parte. Não há garantia de que eles não perderão o interesse e subfinanciarão seus esforços.

“There is something about diversity that is just inherently good,” he says. “For the same reason that you don’t only want to plant a single crop.”

Embora flow seja apenas um ponto fraco na cena do navegador hoje, você nunca sabe para onde ele pode ir. Como o web designer John Allsopp observa, a Apple surpreendeu muitos especialistas usando um motor pouco conhecido chamado KHTML quando lançou o Safari em 2003, em vez de basear seu código no Firefox. Mas, como um engenheiro da Apple observou na época, khtml era consideravelmente menos inchado e mais leve, e Steve Jobs fez questão de falar sobre a velocidade do Safari enquanto rebaixava o navegador na Macworld Expo daquele ano.

O motor da Apple acabou se transformando em WebKit, que se tornou a base para o Safari no iOS. O Google então adotou o WebKit para seu navegador Chrome antes de criar sua própria variante no Blink. O precedente histórico não se perde em Allsopp, que vê um paralelo no foco de Flow no desempenho acima de tudo.

“Talvez isso abra a web para uma nova classe de dispositivos, onde não o vimos”, diz ele.