terça-feira, 24 de novembro de 2009

Trimpath - Javascript Template

Uma das bibliotecas mais úteis que tenho utilizado para aplicações de médio e grande porte em Javascript é a Trimpath.
Para quem já está acostumado a trabalhar com separação de camadas de interface de dados, a biblioteca é uma "mão na roda".
Semelhante a soluções para PHP (Smarty e Template Power por exemplo) a sintaxe de marcas e a possibilidade de inserção de lógica no HTML facilitam muito o seu uso.

Como funciona?
- Baixe o ZIP da Trimpath em http://code.google.com/p/trimpath/wiki/JavaScriptTemplates.
- Você precisa apenas do arquivo trimPath.js que vem no pacote.
- Insira o arquivo no seu documento HTML.
- Chame a seguinte função para realizar o parse do template:
var result = TrimPath.parseTemplate(strTemplate).process(params);

Onde:
- strTemplate é a String que contém os dados a serem parseados (o seu template)
- params são os dados em JSON que serão inseridos na apresentação do template

Exemplo:
var strTemplate = "Oi ${fulano}"
var params = { fulano : "Cicero" };
var result = TrimPath.parseTemplate(strTemplate).process(params);

Pronto! Você já pode criar seus templates e separar a sua aplicação de uma forma mais organizada e prática.

Dicas:
O template não precisa necessariamente estar no próprio HTML. Requisite o conteúdo via Ajax, e armazene o responseText da requisição em uma String.

Lendo com mais calma a documentação você perceberá que os parametros JSON que você utiliza para o parse são facilmente identificaveis por tipo pela biblioteca. Como por exemplo quando você passa um array dentro do seu objeto, o mesmo pode ser percorrido atrav´s da sintaxe de LOOP da trimPath.

quarta-feira, 4 de novembro de 2009

Ctrl + C Ctrl + V

Slow class selectors

This method can be problematic with large html documents with thousands of DOM elements. Web browsers which aren't able to do efficient evaluations on class based selectors are seriously disadvantaged here as they need to trawl through the entire document tree to find the elements. Other browsers are better off, but it's still a high cost operation relative to the super fast id based selector.


Leia o resto em : http://ajaxian.com/archives/jquery-bondage