09 Jul

Postado em:

Javascript

Palavras Chave:

Framework Javascript, Slickspeed, MooTools, Browser, JQuery

RSS:

Assinar.

Qual Framework Javascript devo usar?

Postado em 09 de Julho de 2009, às 14:13

Olá pessoal! Esta semana estive pensando, qual seria o melhor framework javascript para se utilizar? Resolvi fazer uma pesquisa na internet e descobri uma ferramenta que realiza testes com diversos frameworks, o site da ferramenta é o slickspeed.

Nesta ferramenta nós podemos testar cinco frameworks, entre eles: MooTools, JQuery, Prototype, YUI Selector e o Dojo. Vocês já devem ter percebido que a ferramenta é disponibilizada pela própria MooTools.

Infelizmente as versões de alguns frameworks não estão atualizadas, mas já dá para ter uma idéia da performance de cada uma. O MooTools, obviamente, já está na sua versão mais recente, que é a 1.2.3. O site para testes utiliza a versão 1.2.6 do JQuery, mas, este framework está na versão 1.3.2. O Prototype se apresenta com umas das versões mais atuais, a 1.6.0.2, sua versão mais recente (de acordo com o seu site) é a 1.6.0.3, mas, já existe um RC1 da versão 1.6.1. O YUI está atualmente na versão 2.6.0 (versão estável), já existe a versão de testes do YUI Selector que é a 3.0.0 Beta 1, porém, na ferramenta de testes é utilizado a 2.5.2. Finalmente o Dojo 1.3.1 (que é sua versão atual) não foi utilizado, mas sim, uma versão um pouco mais antiga, a Dojo 1.1.1.

Esta ferramenta de testes verifica a performance de cada framework no browser que você utiliza. O melhor framework seria aquele que executasse as quarenta tarefas propostas pela ferramenta em menos tempo. Portanto, realizei um teste com todos os frameworks em sete browsers diferentes. Para cada browser eu realizei três testes, o resultado é exatamente a média do tempo gasto por cada framework nos três testes realizados.

É importante ressaltar que no momento dos testes eu não estava executando nenhum outro programa no meu computador, ou seja, tinha apenas o browser que seria testado e ainda neste browser havia apenas a página da ferramenta slickspeed. Os resultados podem variar de acordo com o computador, a quantidade de memória e a velocidade do processador interferem, de maneira geral, nos resultados de todos os frameworks. Os teste foram realizados em notebook Dell Core 2 Duo 2.0 GHz com 3GB RAM.

O gráfico abaixo exibe o resultado desse teste:

Os números no gráfico consistem no tempo que cada framework precisou para realizar um conjunto de 40 tarefas, esse tempo está em milissegundos. Portanto, a escala do gráfico vai de 0 a 2000 milissegundos, em cada barra existe o número exato de tempo que cada framework gastou para executar as tarefas.

O gráfico nos apresenta claramente que: Dojo e JQuery são os frameworks mais rápidos em todos os sete browsers testados. Por outro lado, YUI Selector e Prototype são os mais lentos em todos os browsers em que foram testados.

A ferramenta de testes slickspeed, também verifica se os frameworks não geram erros durante sua execução. Sendo assim, vamos aos erros! Os frameworks MooTools, JQuery e Prototype não produziram nenhum erro grave em nenhum browser. Por outro lado, YUI Selector produziu 4 (quatro) erros no IE8, nos outros browsers ele funcionou perfeitamente. Quanto ao Dojo, ele produziu 3 (três) erros em cada um dos seguintes browsers: Firefox 3.5, Opera 10 Beta e Safari 4.0. Nos browsers IE7, Opera 9.64 e Chrome 2.0 o Dojo funcionou bem, mas, o mais grave de tudo é que este framework não funcionou no IE8, nenhuma das 40 (quarenta) tarefas sugeridas pelo slickspeed foi executada neste browser, portanto o Dojo produziu quarenta erros no IE8.

Quero aproveitar e fazer um parênteses aqui, sei que não é o propósito deste artigo, mas, vocês notaram a excruciante diferença de performance de todos os cinco frameworks entre os browsers baseados no Netscape (Firefox 3.5, Opera 10 Beta, Opera 9.64, Chrome 2.0, Safari 4.0) e os browsers da Microsoft? E as pessoas ainda insistem em utilizar essas porcarias da Microsoft!!!!

Claro que performance não é a única coisa que se leva em consideração na hora de escolher um framework para desenvolver um site. O tamanho do framework é e sempre deve ser levado em consideração, por este motivo, eu fiz uma pequena pesquisa e o resultado dela eu coloquei neste gráfico abaixo, que compara a diferença de tamanhos dos frameworks. Quero lembrar que levei em consideração os tamanhos dos frameworks sem nenhum tipo de compactação. Veja o gráfico abaixo:

Neste gráfico fica claro que o YUI Selector é o framework mais pesado, mas, devo lembrar que junto com o YUI Selector vem muitas imagens e códigos css além dos arquivos .js.

Para concluir este artigo, quero dizer que a performance e o tamanho dos frameworks não são as únicas coisas que devem ser levadas em consideração. Precisamos avaliar por nossa conta os benefícios que cada framework nos traz, ou seja, cada um nos oferece uma gama de ferramentas muito grande, mesmo assim, cada um deles possui alguma ferramenta incomum. Então, na hora de escolher um framework javascript devemos ficar com aquele, ou aqueles, que nos oferece exatamente o que precisamos para desenvolver um site e que ainda seja leve e rápido.

É isso ai pessoal, se alguém tiver alguma crítica ou sugestão, por favor, me envie para que eu possa corrigir ou melhorar este artigo. Obrigado!

Sidney 10 Mar 2010

Muito bom seu artigo.

Trabalho com programação orientada a objetos e costumo fazer muita coisa à mão, até porque evito sites muito carregados. Já tinha visto frameworks javascript antes mas os achei muito pesados para o pouco de tarefas que eu realmente precisava aplicar nas páginas.

Hoje, com o acesso maior a conexões um pouco mais rapidas, acho que vale a pena utilizar um framework como jQuery ou Dojo.

Seu artigo me ajudou a decidir qual vou usar, até por que também tinha feito alguns testes no slickspeed.

Opto pelo jQuery.

Um abraço e obrigado.


Deixe seu comentário