domingo, julho 05, 2009

A Maravilhosa Prototype

Quem já precisou fazer qualquer projeto com javascript, sabe muito bem o quão chata é essa linguagem. Não por ter sintaxe obscura ou complexa, mas sim pela falta de bibliotecas nativas de acordo com as novas exigências da web. É aí que entra a Prototype.

Alguns preferem chamar de biblioteca, outros de framework, não importa o nome, o fato é que Prototype extende em muito as funcionalidades padrão do javascript. A biblioteca acrescenta métodos as classes do DOM, tornando o estilo de codificação em javascript mais moderno e robusto.

Um bom exemplo de inovação genial, são os seletores. Sabemos como é doloroso escrever códigos usando o famoso método getElementById() do DOM, pelo fato da sua sintaxe ficar terrivelmente grande. Observe o exemplo:

//estilo de codificação comum
document.getElementById('popup').style.display = 'none';

Sinta agora a diferença da mesma linha de código com Prototype:

//usando prototype
$('popup').hide();


Viu? Agora se você quer "esconder" todos os elementos com a tag div ou com a tag span, dentro da div #guestbook, comumente, podemos fazer assim:

var divs = document.getElementById('guestbook').getElemenstByTagName('div');
for (i=0;i<divs.length;i++)
{
divs[i].style.display = 'none';
}
var spans = document.getElementById('guestbook').getElemenstByTagName('span');
for (i=0;i<divs.length;i++)
{
spans[i].style.display = 'none';
}


10 linhas de código, tarefas repetidas... Poderia ter criado uma função, mas só pra isso? Concordo, isso não vale uma função. Agora veja o mesmo trecho com prototype:

$('#guestbook div', '#guestbook span').each(function (node) { node.hide(); });


Uma linha?! Já deu pra notar o poder prototypeano?

Se você quiser saber mais dessa fabulosa biblioteca, acesse http://www.prototypejs.org ou acompanhe a nova série Prototype do nosso blog.

0 comentários:

Related Posts Plugin for WordPress, Blogger...