img_mozilla_odinmonkey_firefox_01 Internet, Notícias, Software, Tecnologia

OdinMonkey – o caminho para uma internet turbinada no Firefox


Os browsers actuais são capazes de executar instruções em JavaScript muito mais rapidamente do que alguns anos atrás. Mas apesar das páginas web actuais se parecem mais com aplicações de desktop, o desempenho do JavaScript é ainda muito longe do que você pode esperar de um programa nativo. Para ajudar a diminuir esta diferença, a Mozilla começou a incorporar o OdinMonkey no Firefox.

A Mozilla lançou há algum tempo atrás o projecto asm.js. Este projecto foi criado pela Mozilla de modo a experimentar com algumas tecnologias que lhe poderiam permitir diminuir a diferença entre aplicações web e nativas. O projecto parece ter cumprido as expectativas da Mozilla, já que foi recentemente integrado, com a designação de OdinMonkey, no Firefox Nightly – a versão de desenvolvimento do Firefox.

Na prática o OdinMonkey, é o nome do módulo de otimização asm.js do Firefox, que permite a programadores desenvolver o seu código em C ou C + +, e traduzi-lo para JavaScript e executá-lo a uma velocidade mais aproximada do desempenho nativo. Esta abordagem tem as suas semelhanças com a tecnologia Native client que a Google incorporou no seu browser Chrome.

Contudo, enquanto no Native Client da Google os programadores desenvolvem aplicações (em C/C++) que são compiladas em executáveis nativos a abordagem do OdinMonkey é diferente. Na prática os programadores desenvolvem em C/C++ mas o código depois é convertido para javascript e compilado para ser executado. Mas então porque a Mozilla não adopta a mesma estratégia da Google?

A principal razão é que na prática o javascript é a linguagem script da Web e devido a ser um standard, é de domínio e código aberto. Com este mecanismo a Mozilla assegura que uma aplicação Web que tire partido do asm.js, vai executar de forma adequada em qualquer browser. A abordagem da Google baseia-se numa quebra na compatibilidade dos standards da web e baseia-se numa estratégia de distribuição desses arquivos compilados em C++ (no formato binário) na sua Chrome Store. Trata-se portanto de uma estratégia menos amiga da interoperabilidade embora seja mais optimizada no campo da velocidade.

Mas qual o real benefício do OdinMonkey para os usuários?

Primeiro de tudo poderá esperar que o seu browser execute tarefas mais rápidas em tudo em todas as aplicações que utilizarem massivamente o Javascript. Mas estamos a falar em que diferenças mais ou menos? Alon Zakai da Mozilla fez os testes e apresentou o seguinte gráfico.

img_mozilla_odinmonkey_firefox_02

No geral, pode-se observar que o tempo necessário para executar qualquer tarefa optimizada pelo OdinMonkey (representado a verde) está mais próximo do tempo necessário para executar o mesmo processo de forma nativa (representado a amarelo).

Isto significa que, de uma perspectiva dos usuários, poderemos ver em breve jogos significativamente melhores e mais complexos no seu Browser. A maioria dos jogos são desenvolvidos em C e/ou C++ logo o OdinMonkey é um recurso precioso para a maioria dos programadores a trabalhar na indústria de desenvolvimento. Poderá também esperar aplicações web bastante mais rápidas, assumindo que os seus autores comecem a adaptar o asm.js.

Contudo, esta actualização não é inocente do ponto de vista das ambições que a Mozilla tem no mercado móvel. De certeza que esta tecnologia vai chegar ao Firefox OS, e se assim acontecer a Mozilla terá aqui a infraestrutura ideal para atrair várias aplicações para o seu sistema operativo móvel. Isto significa que os autores de aplicações e jogos, podem trazer as suas criações ao Firefox OS com um mínimo de esforço de conversão do C/C++ para Javascript.

A não ser que o desenvolvimento atinja um obstáculo, a Mozilla prevê que o OdinMonkey seja incluído na versão estável do Firefox 22 (para Windows, Mac e Linux) que está previsto para ser lançada em Junho. Caso tenha curiosidade em ver as diferenças de velocidade da nova tecnologia, siga as instruções neste link, para ter acesso a demos da nova tecnologia.


Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *