3 de mar. de 2010

jQuery

Eu sei que este assunto já esta batido, mas acho interessante ressaltar alguns pontos.
Nos últimos anos o jQuery tem sido bastante utilizado por várias empresas. Mas o que o jQuery tem de diferente os outros Frameworks de desenvolvimento javascript? Por que o jQuery esta cada vez mais popular no mercado?

Introdução
A versão mais antiga do jQuery que consta no site oficial da comunidade (http://jquery.com/) data de 28 de agosto de 2006, uma época marcada por inúmeras atualizações e lançamento de navegadores no mercado, onde o padrão para nome de funções de javascript não eram seguidos e não possuíam nenhum padrão definido, e até os dias de hoje não possuem. Porém com o jQuery se torna mais fácil criar algoritmos e utilizar recursos com maior potencial de compatibilidade entre os browsers do mercado (conceito popularmente conhecido como cross-browser).

Esta biblioteca teve inicio com a idéia de selecionar objetos pelo seu estilo, ou nome, e então em agosto de 2005 John Resig escreveu um simples e maravilhoso artigo sobre Seletores o "Selectors in Javascript" (http://ejohn.org/blog/selectors-in-javascript/), e então em janeiro de 2006 o jQuery é apresentado na BarCampNYC, mas ainda como uma promessa de ser uma grandiosa ferramenta para os desbravadores da Web.

Então em agosto de 2006 a primeira versão estável é lançada na web, e nesse momento o sucesso é inevitável por ser uma biblioteca tão bem planejada, elaborada e documentada, começa a ser bastante utilizada por desenvolvedores, e logo na sequência grandes empresas como o Google, começaram a utilizá-la.

Onde usar

Que o jQuery é para ser usado no cliente e que é uma biblioteca na linguagem javascript, todas as matérias de revistas e blogs falam, mas ... onde posso usá-lo, em que momento devo usá-lo e por que usá-lo, são questões que geralmente não são feitas em alguns projetos. Por exemplo um sistema em que existem 2 usuários e que esses usuários estão interessados em executar suas tarefas de maneira simples, este sistema necessita do jQuery? Segundo as características do demonstradas do projeto não necessita, pois o sistema deve ser simples e para apenas 2 usuários, o custo para implementá-lo com o jQuery é um pouco maior, tornando inviável a implementação. Mas imagine uma empresa que tem como principal produto uma ferramenta de WebMail, será que vale a pena investir na implementação com o jQuery? Neste caso sim, pois a usabilidade do WebMail será um atrativo para os clientes, e neste caso é uma vantagem competitiva no mercado, os clientes poderão optar por usar este WebMail simplesmente porque ele não fica carregando a página toda hora que ele clicar em alguma coisa. Outros aplicativos que tem a necessidade de utilizar estes recursos são sites de e-commerce, aplicativos de comunicação, aplicativos de monitoramento, entre outros. Basicamente todas as ferramentas que necessitam de Navegabilidade e Usabilidade podem e devem usar o jQuery como um diferencial.

Tentamos definir aqui como escolher usar ou não usar o jQuery, e descobri que posso utilizá-lo no meu site, e ai onde que eu devo aplicá-lo no meu site?

Basicamente, o jQuary tem por objetivo para tratar objetos DOM, adicionar e remover eventos, mudar estilo, capturar objetos da página, entre outros.
É bastante aconselhável utilizá-lo quando o sistema é baseado em AJAX, aliás a própria biblioteca da suporte a implementação de chamadas assíncronas ao servidor (POST sem recarregamento), e é aconselhável usá-lo para tratar os objetos(DOM) e/ou o XML que irão receber do Servidor.
Mas ainda assim esta explicação não nos permite entender exatamente onde usá-lo.


O jQuery possui funções para inúmeras tarefas, funções prontas para serem usadas, como por exemplo métodos de suporte a AJAX, para trabalhar com estilo de objetos (CSS), tratamento de informações, fila, tamanho e posição de objetos, efeitos de animação de objetos, eventos de objetos, métodos de formulários como submição ou eventos, manipulação de objetos, seletor de objetos, além da iteração com plug-ins externos.

Portanto podemos usá-lo para mover objetos, aumentá-los de tamanho, carregar informações do servidor sem a  necessidade de recarregamento da tela, alterar a aparência da página, entre outros, e o grande diferencial é que não será necessária nenhuma alteração no código para que o mesmo execute em navegadores diferentes, o próprio jQuery realiza este tratamento.

Sem exagerar


Muitas pessoas tem a tendência de aplicar o que aprende em tudo aquilo que existe, para poder aprender melhor ou por estar iludida acreditando que somente aquele conhecimento basta para resolver o problema. Mas se fizermos isto com o jQuery em um momento as máquinas dos usuários não irão conseguir abrir o site. Porque a máquina do usuário tem uma configuração imprevisível, e imagine só, por exemplo, se o gMail tivesse uma configuração mínima de acesso? Não estamos falando de um jogo, nem de um sistema operacional, é uma página de internet, se ela demorar para carregar ou se ela não carregar por causa de configurações mínimas, você pode perder um cliente em potencial.
Não se deve carregar uma lista de 500 informações no browser dentro de um XML e ficar tratando com javascript, isso não é performático,  a principio pode parecer, mas não é. portanto se for carregar informações no lado do cliente, pense se não esta carregando informações a mais daquilo que você realmente necessita.
Tente não sobre carregar a página com inúmeras animações sem necessidade, se puder trocar a animação por uma imagem (gif), faça isso, e em alguns casos você pode estudar a hipótese de usar um objeto "Flash" ou até Silverlight.
O jQuery foi criado para ajudá-lo a se adequar a Web 2.0 e não para criar filmes em html e nem para desenvolver um processador de informações.

Conclusão
O jQuery realmente é uma biblioteca diferenciada no mercado, porém não é a unica, temos que avaliar se é realmente necessária a sua utilização ou se podemos dispensá-lo de nosso website.
Quando optarmos por utilizá-los, devemos aplicar apenas em locais relevantes e que realmente irá ser um diferencial. E por último temos que usá-lo com cautela para que o site não fique pesado.

Referências
Como meu intuito neste post não é explicar como implementar com o jQuery seguem algumas referências para que você possa saber mais sobre o assunto.
http://api.jquery.com/ - Documentação oficial
http://jquery.org/ - Site com todos os projetos jQuery
http://pt.wikipedia.org/wiki/JQuery - jQuery na wikipedia
http://visualjquery.com/ - Documentação

Nenhum comentário: