sexta-feira, 24 de fevereiro de 2012

Como acontece o desenvolvimento do Firefox?

Essa informação pode ser velha para alguns, mas a descobri recentemente e é bem interessante, que pode ser seguido por várias empresas e pessoas para aprimorar o desenvolvimento de vários produtos.

Você nunca se perguntou por que uma nova versão do Firefox é lançada a cada 6 semanas? Vou explicar mais sobre esse processo nesse post.

O Firefox atual, o comum, o que a maioria das pessoas utiliza, é a versão final do navegador em si. Ela é estável, sem bugs aparentes, rápida, enfim! É como uma versão final teoricamente deveria ser.

No início de 2011, o desenvolvimento do Firefox foi dividido em etapas. Isso agilizou o processo de liberação das novas versões para os usuários comuns e acabou também melhorando o processo de desenvolvimento, que agora passou a ser contínuo.

As etapas ou estágios de desenvolvimento do Firefox ocorrem simultaneamente. Com isso, o programa estará sempre melhorando e os usuários comuns poderão ter acesso aos bons recursos de uma forma ainda mais rápida que antes.

Primeiro, vamos conhecer cada estágio do desenvolvimento.


O estágio que é voltado mais para usuários avançados, para pessoas que querem novidades e para quem quer conhecer o futuro do Firefox se chama Nightly. Ele não é estável, é atualizado quase todos os dias e as funcionalidades liberadas não são testadas.

Esse estágio geralmente contém vários bugs, já que nada é testado pela Mozilla e é uma etapa que pode não ser estável na maioria das vezes. Mas é a etapa mais indicada para quem deseja acompanhar o desenvolvimento do navegador. Com a Nightly, é possível se ter uma boa prévia do que pode vir por aí.


Na segunda etapa de testes são realizados alguns ajustes de compatibilidade e estabilidade. Alguns recursos são testados. É um estágio mais estável que o Nightly, mas pode conter alguns bugs. Já é possível se ter uma ideia das funções da próxima versão final do Firefox.

Essa etapa é recomendada para quem quer ter uma prévia mais concreta das próximas 2 versões do Firefox. Certamente é uma etapa mais polida que a Nightly. Várias coisas da Aurora vão para a versão final.


Beta é a versão beta comum. Os recursos são testados, a compatibilidade e estabilidade são aprimoradas, o programa apresenta poucos bugs.

Há realmente uma seleção de recursos e um aprimoramento do programa para que se estabeleça o que realmente irá para a versão final.

É uma versão beta como qualquer outra de qualquer outro programa. É bem parecida com a versão final. Ela é a versão final necessitando de alguns ajustes.

A versão beta é bem parecida com a futura versão final. É provável que todos os recursos dela estejam na versão final. Ela é indicada para usuários que querem ter acesso às próximas funcionalidades do Firefox e que não se importam com alguns bugs.

Após a Beta ser considerada estável, ou seja, após 6 semanas de testes, a versão final é atualizada para a versão em que a Beta se encontrava.


O estágio final é o que contém a versão mais estável e usável de todas as etapas do desenvolvimento do programa. Não existem bugs na versão final. Caso exista algum bug, ele é corrigido rapidamente em uma atualização menor.

A versão final é feita para o usuário final. Não é uma versão de testes. Ela serve para ser utilizada, não testada.


A empresa Mozilla desenvolveu essa técnica de "desenvolvimento simultâneo" traduzida literalmente como Ciclo de desenvolvimento para um lançamento rápido (Rapid release development cycle).

Vale lembrar que uma etapa é sempre uma etapa e as versões transitam entre elas. Atualmente, a versão na etapa Nightly é a 13. Supondo que o ciclo de 6 semanas se iniciasse hoje, daqui a 6 semanas a versão 13 será a Aurora, mas a etapa Nightly continuará sendo a Nightly e será atualizada para a versão 14.

Se um usuário baixar o estágio Nightly, ele não virará Aurora, continuará sempre sendo o Nightly. O que vai ocorrer é que a versão da Nightly irá para o estágio Aurora através de uma atualização deste. Quando isso acontecer, a Nightly será atualizada para uma nova versão com novas funções que serão submetidas aos testes.

Esse processo de atualização ocorre a cada 6 semanas. Cada etapa é atualizada a cada 6 semanas e as versões são "passadas para frente".

Vamos supor que a versão 10 do Firefox foi lançada hoje, para que o exemplo abaixo seja entendido.

Comecemos o exemplo com a versão 13. Ela sempre será a versão 13. Se a versão 10 é a final, então a 13 é a Nightly. Quando esse estágio foi atualizado da versão 12 para a 13, não ocorreu uma simples atualização diária para correção de bugs. As atualizações da versão sempre possuem funcionalidades mais importantes. 

Daqui a 6 semanas, a Aurora, que está na versão 12, será atualizada para a versão 13. E durante as 6 semanas em que a versão 13 ficou no estágio Nightly, ela foi polida e aprimorada. Isso aconteceu com cada uma das versões em cada um dos estágios ao longo das 6 semanas. 

Ao mesmo tempo em que a versão 13 passou para o estágio Aurora, a etapa Nightly também foi atualizada e agora está testando a versão 14.

E ao mesmo tempo em que a versão 14 foi para o estágio Nightly e a versão 13 foi para o estágio Aurora, a versão 12 foi para o estágio Beta e a versão 11 foi para o estágio Final. Agora, a versão 11, que já foi do estágio Nightly um dia, finalmente está no estágio final e poderá ser utilizada pelo grande público.

Essa mudança de versões entre os estágios acontece a cada 6 semanas. Durante esse período, é lógico, as versões foram testadas em seus respectivos estágios e foram aprimoradas, polidas e atualizadas. Isso tudo para que elas fiquem prontas para o próximo estágio após as 6 semanas de teste.

Ou seja, o desenvolvimento do Firefox é contínuo. Enquanto você está aí com a versão final, há alguém sabendo o que poderá ser incluído no navegador daqui a 3 versões. É por causa desse modelo que uma nova versão do navegador é lançada de 6 em 6 semanas, desde que esse sistema de desenvolvimento foi criado em 2011.

Uma função existente na versão final não será removida das versões mais novas. Isso é óbvio, lembre-se apenas de que o "alicerce" é o mesmo. É claro que um ou outro recurso pode ser removido, mas falo de uma forma geral.

Apenas se atualiza a versão final caso descubram um bug ou uma falha grave no programa. Nessa situação, o software é atualizado assim que possível. Na maioria das vezes, a versão final é atualizada apenas quando a versão no estágio Beta está preparada, isto é, após o intervalo de 6 semanas.

Essa técnica de desenvolvimento pode parecer um pouco complexa mas é muito interessante. Ela garante um desenvolvimento contínuo do produto e é indicada para produtos que precisam ser constantemente aprimorados e atualizados.

Ao utilizar essa técnica, a Mozilla definiu uma nova maneira de se desenvolver um software. Isso faz com que o programa esteja em constante aprimoramento. Portanto, um programa assim não sofre tanto com bugs em sua versão final e está sempre atualizado para os formatos e protocolos mais atuais.

O software é aprimorado a todos os momentos, em um desenvolvimento contínuo. Quem ganha com isso é o usuário, que terá um ótimo programa estável e atualizado com o mundo.

Isso é interessante em navegadores, já que está acontecendo uma enorme briga sobre o formato padrão de vídeos do HTML5. Os navegadores sempre precisam de atualização para suportarem os protocolos, formatos e padrões mais recentes do HTML5, o qual ainda está se consolidando.

Mas essa técnica também seria útil para vários tipos de software. Softwares que precisem de uma atualização constante tais como os próprios navegadores, clientes de Twitter e alguns jogos, por exemplo.

Sendo assim, podemos observar que a Mozilla criou uma ótima técnica para desenvolver softwares. O navegador atualiza-se periodicamente, sem muita demora, e é constantemente melhorado.

É realmente uma excelente forma de se desenvolver um software. Ele nunca fica obsoleto e está sempre melhorando. A Mozilla está realmente de parabéns!

Caso você não tenha visto os links ao longo do post, para baixar cada estágio do desenvolvimento, clique na etapa desejada abaixo:
A imagem foi utilizada para fins meramente ilustrativos e pertence aos respectivos donos. Qualquer marca registrada mencionada no post não foi utilizada para fins publicitários. Fonte da imagem.

0 comments:

Postar um comentário