Integração de código Vivaldi. Nossos desenvolvedores dizem

imagem

Recentemente, a publicação norueguesa Digi.no publicou uma história sobre como os desenvolvedores do navegador Vivaldi trabalham com o código Chromium. Em uma entrevista com três especialistas líderes da empresa, pela primeira vez, conversamos publicamente sobre esse importante componente do processo de desenvolvimento do navegador Vivaldi.

Três funcionários da empresa participaram de uma entrevista com a publicação norueguesa - Ingve Pettersen, Jarle Antsen e Andre Schulz. Eles conversaram sobre como o trabalho está sendo feito para integrar o código do navegador Vivaldi e o kernel Chromium que é usado no navegador - sobre as vantagens e desvantagens dessa abordagem, bem como quais problemas surgem e como lidar com eles.

Abaixo está uma tradução para o russo das perguntas e respostas mais interessantes.

imagem
(Horário da esquerda para a direita) Harald Brombach, do Digi.no, Jarle Antonsen, Ingve Pettersen, Andre Schulz.

O problema do grande volume e da curta frequência de atualização do código do kernel do Chromium?


Yngwe Pettersen (Engenheiro Líder) : Uma nova versão do Chromium é lançada a cada seis semanas, e precisamos integrar nosso próprio código Vivaldi ao código desse kernel. Estou envolvido nessa tarefa, sendo responsável pela base de código do navegador. E - sim, este é um trabalho bastante complicado e demorado que leva várias semanas.

Existe algum progresso neste trabalho?


Jarle Antensen (gerente de projeto) : anteriormente, o processo de integração levava três a quatro semanas, mas os desenvolvedores do Vivaldi conseguiram integrar as duas últimas versões do Chromium (68 e 69) em menos de duas semanas. O principal problema foram as regressões - quando nosso código parou de funcionar com o código Chromium, e é a correção deles que leva o tempo principal.

Como está indo o trabalho com a comunidade Chromium?


Andre Schulz (desenvolvedor da interface do usuário) : Para nossa alegria, é muito produtivo. Eu constantemente envio perguntas aos desenvolvedores de vários módulos e obtenho respostas bastante detalhadas, às vezes até com sugestões de como fazer o módulo funcionar ainda melhor.

Você contribui para o desenvolvimento do cromo?


Yngwe Pettersen : Nos últimos seis meses, enviamos uma dúzia de patches para o código Chromium. Estas são principalmente sugestões para limpar o código, mas também houve correções de bugs. No momento, estamos preparando mais alguns patches para enviar aos desenvolvedores do Chromium.

imagem
Jarle Antonsen, Ingve Pettersen, Andre Schulz.

Quão complicado e demorado é o processo de integração de código?


Ingve Pettersen : Após o lançamento da próxima atualização do Chromium, crio um novo ramo separado e começo a trabalhar com ele. Extraio o código Chromium e sincronizo todos os submódulos que usamos, enquanto faço pequenas alterações. Essa parte do processo é bastante bem automatizada conosco.

Em seguida, copiamos todas as nossas atualizações sobre a base de código do Chromium. Há muito trabalho artesanal desde temos algumas regressões e conflitos de mesclagem de código. Isso costumava ser muito problemático, mas com o tempo, limpamos bem o código dos elementos que causaram os conflitos e hoje tudo é muito mais simples. Por exemplo, durante a última atualização, fizemos alterações em aproximadamente 900 arquivos e apenas 80 arquivos exigiram edição manual de código. Levei cerca de cinco a seis horas para fazer isso - levava pelo menos uma semana.

Depois de mesclar o código, você precisa compilar o código do navegador para várias plataformas - Windows, Linux, Mac. Como regra, isso leva um dia ou até várias horas. Em geral, o processo de mesclagem de código leva dois a três dias hoje.

Como novos problemas são identificados?


Ingve Pettersen : Na verdade, no processo de integração do código, já estão aparecendo erros, cuja correção você precisa fazer alterações no código dos módulos Vivaldi. Isso pode levar algum tempo.

Em seguida, Andre, Jarle e outros desenvolvedores começam a corrigir os problemas descobertos, bem como os novos que já são identificados durante o teste do navegador Vivaldi.

Quão complicado é esse processo?


Andre Schulz : Sim, as alterações no Chromium são as mais difíceis em nosso trabalho. Algumas vezes desativamos os sinalizadores para algumas funções e trabalhamos em paralelo com as funções do Chromium, que foram removidas das próximas versões do kernel. Isso criou muitos problemas para nós. O caso mais difícil ocorreu durante a atualização para o núcleo do Chromium 64 e demorou muito tempo para corrigi-lo, o que afetou a desaceleração no lançamento de novas versões do navegador Vivaldi.

Yngwe Pettersen : Depois de corrigir os problemas que surgiram durante a integração do novo kernel, continuamos trabalhando na solução de problemas e até obtermos uma versão estável o suficiente para ser lançada como produto final.

Como estão as coisas na adição de novos recursos ao navegador?


Yngwe Pettersen : Sim, não paramos de trabalhar em novos recursos, portanto o código principal do Vivaldi está em constante mudança e teste. Sempre que um dos desenvolvedores adiciona alterações ao código, um novo assembly é criado automaticamente. Esses assemblies são testados ativamente primeiro pela empresa e pelos testadores terceirizados da Sopranos e, depois, pelos usuários de compilações de testes de navegadores públicos; no final, é o departamento de controle de qualidade que decide se estamos prontos para lançar a versão final.

Atualmente, o Vivaldi emprega cerca de 20 desenvolvedores. Não sei exatamente quantos desenvolvedores estão envolvidos no desenvolvimento do Chromium, mas é claro que existem muitos mais do que nós. Você pode tentar comparar o número de alterações no código feitas por ambas as equipes recentemente.

Em cinco anos, fizemos mais de 17.000 alterações em nosso código principal. No ano passado, fizemos mais de 2.700 alterações. Para comparação, entre o Chromium 67 e 68, foram feitas aproximadamente 12.000 alterações no código do Chromium e entre as versões 68 e 69 esse número já era de cerca de 15.000. Em outras palavras, a equipe de desenvolvimento do Chromium fez tantas alterações em poucos dias quanto em nosso código ao longo do ano. Portanto, eu estimo o número de desenvolvedores ativos do Chromium em cerca de 600 pessoas.

Jarle Antensen : Como regra, leva-se um tempo da idéia à implementação de uma nova função. Em uma equipe pequena, é mais fácil evitar burocracia excessiva. Ao mesmo tempo, quase todos os membros da equipe estão ativamente envolvidos no teste de novos recursos, incluindo o diretor da empresa, Jon von Techner. E, é claro, o processo de adição de novos recursos depende muito das solicitações dos usuários - suas recomendações e comentários são críticos para o nosso trabalho.

imagem
(Horário da esquerda para a direita) Jarle Antonsen, Ingve Pettersen, Andre Schulz, Harald Brombach.

Artigo original

Source: https://habr.com/ru/post/pt423319/


All Articles