quarta-feira, 3 de setembro de 2008

Por Que a Tecnologia do Navegador Google Chrome é Melhor

Gus's SOS Brasil

Não sei se todo mundo viu que hoje o Google está anunciando seu navegador chamado Google Chrome. A notícia foi vazada ontem porém oficialmente hoje é o dia. A questão aqui é talvez muito mais importante do que parece pois o Google Chrome pode e mudar o jeito tradicional de usar a internet.

google chrome logo

O anúncio foi através de uma história em quadrinhos, nada convencional, porém muito ilustrativa. Pena ainda ser em inglês (você pode acessar aqui) mas vou dar uma breve explicação de como o Chrome funciona e o que traz de novidade. Fiz isso traduzindo o texto original com alguns comentários. Vamos lá.

Parte 1. Arquitetura.

Google Chrome comics 1

As páginas mais usadas hoje na internet são na verdade mais aplicações do que uma simples coleção de texto.

Quando os navegadores e todo seu conceito foram criados anos atras, a realidade era outra, ninguém assistia e carregava vídeos, batia papo ou jogava online. Ou seja, a utilidade da internet mudou mas o conceito do navegador não foi alterado. Por isso que hoje temos que instalar plugins Flash entre outros para poder navegar em uma simples página de um jornal.

A idéia do Chrome é criar um novo navegador partindo do zero, com foco neste novo modelo de utilização da internet voltado para as aplicações e seus usuários.

Premissas do Chrome:

1. Ser mais estável e evitar perdas de documentos importantes por causa da interferência de outras páginas abertas.

2. Ser mais rápido que os navegadores atuais inicializando e carregando páginas com aplicações javascript.

3. Ser mais seguro e ter uma arquitetura que evite os conhecidos "malwares" através de falhas conceituais dos navegadores atuais.

4. Ter uma interface mais simples e eficiente mesmo com tantas funções implementadas.

5. Ter código fonte aberto para que o conceito das premissas acima sejam espalhados, compartilhados e assimilados por toda a comunidade de desenvolvedores e utilizadores da internet.

Arquitetura de Múltiplos Processos

Google Chrome comics 2

Todos navegadores atuais são um simples programa representado por um simples processo. Você pode usar diversas abas do Firefox ou Internet Explorer, executando diferentes aplicações. Todas elas são na verdade um processo dentro do seu computador. Se qualquer problema ocorrer e interromper o navegador, todas as suas diversas aplicações serão fechadas ao mesmo tempo.

Google Chrome comics 3

A arquitetura do Chrome envolve um gerenciador de processos que controla diversas aplicações representadas em abas. Cada aplicação em uma aba é um processo isolado com memória, javascript, recursos e cópia das informações globais de utilização.

Fragmentação de Memória

Google Chrome memory comicsNos navegadores atuais cada aba aberta ocupa um espaço na memória do seu computador. Quando você tem diversas abas e ocupa muita memória pode fechar uma para liberar recursos.

O problema é que todos sabemos que isso não funciona muito bem e os navegadores são comedores de memória pois como eles como não gerenciam bem seus recursos, isso acaba por ocasionar fragmentação da memória livre.

Explicando melhor, quando você abre uma nova aba, se a memória exigida não couber no espaço disponível, mais memória livre é ocupada. Muita gente conhece os desfragmentadores de disco rígido e o problema aqui com a memória RAM é exatamente o mesmo. Os navegadores atuais acabam por utilizar muita memória por não saber usar direito e chega a um ponto que a navegação fica lenta e pesada.

No Google Chrome, quando você fechar uma aba, como o controle de recursos é exclusivo dela, todos recursos ocupados são novamente disponibilizados. Com isso o gerenciamento da memória livre fica muito mais otimizado pois só ocupa realmente o que usa e desocupa o que não usa. Desta forma tem mais controle sobre a utilização dos recursos do seu computador.

Google Chrome comics bad apps

Além disso o Chrome possui um "Gerenciador de Tarefas" semelhante ao do Windows onde você pode monitorar a utilização de recuros de cada aba aberta e ver qual página de aplicação ocupa mais memória ou banda da internet por exemplo.

Isso é importantíssimo para poder separar e julgar as melhores páginas de aplicações da internet, ver qual delas foi desenvolvida da melhor maneira e assim descartar as que ferem seu computador através da má utilização de recursos.

Testes de Segurança

 Google Chrome browser tests

Para que um navegador seja seguro ele precisa ser um produto testado contra milhares de possibilidades de conteúdo existentes na internet. Para o Google isso foi fácil pois a empresa possui em seu cache uma cópia das páginas mais navegadas na internet e desta maneira consegue testar seu navegador com essa massa incrível de dados em pouco minutos. A relevância das páginas escolhidas para testes é determinada através do Page Rank que o Google já tem em sua base de dados. Isso facilita imensamente o volume e foco dos testes realizados.

Com certeza estes testes automatizados não são 100% seguros pois muito conteúdo da internet necessita iteração humana para poder ser extensamente avaliado. A equipe de desenvolvimento do Chrome tem consciência e por isso prefere que o produto tenha menos recursos mas mesmo assim seja mais estável e seguro que seus concorrentes.

Velocidade de Navegação

 Google Chrome fast webkit

O Chrome usa o motor de código fonte aberto chamado WebKit para rederização das páginas. O sistema é o mesmo usado no sistema operacional para celulares Android da própria Google e é conhecido por ser extremamente rápido e eficiente em termos de utilização de recursos de memória.

Google Chrome javascript parse runAlém disso, dada a importância da linguagem Javascript na web de hoje, a criação de uma máquina virtual para Javascript permite tornar ainda mais rápida a navegação.

Eles fizeram isso com a ajuda dos dinamarqueses da empresa "V8 Team" onde criaram um novo conceito de re-utilização de código dinâmico onde a máquina virtual interpreta o código que seria executado e aproveita um recurso local semelhante já compilado em linguagem de máquina que e muito mais rápido.

Como este módulo (API) tem uma maneira tão inovadora de executar Javascript, o melhor ainda é ter código fonte aberto onde outros desenvolvedores podem aproveita-lo de forma independente do Chrome em outros navegadores e assim tornar a internet ainda mais veloz com aplicativos melhores e mais inovadores.

Conclusões Iniciais

Até aqui vimos como revolucionador o Chrome é em termos de estabilidade, segurança e velocidade. O que impressiona é a capacidade do Google de fazer coisas tão inovadoras de forma tão simples e deixar um fã cético do Firefox querendo saber ainda mais sobre o novo navegador. São novidades convincentes e reais que suprem uma necessidade existente na internet de hoje.

O Google ainda faz isso de uma forma aberta disponibilizando seu conhecimento a toda comunidade da internet. Só isso já faz um projeto fascinante. Estou aqui esperando a versão para Mac.

Substituir o FIrefox?

Uso no meu dia a dia o Firefox por causa de suas extensões. Trocar o Firefox pelo Google Chrome talvez seja prematuro e complicado pois usar navegador envolve o costume e hábito das pessoas. Com o tempo veremos na realidade como o novo navegador trabalha e então aos poucos ele será uma alternativa viável para o usuário final. Tenho certeza disso.

Baixe o Google Chrome (somente para Windows).

Fonte:

Gus's SOS Brasil