terça-feira, 16 de outubro de 2007

Um ponto de vista sobre lib's javascript

Olá pobres mortais! Depois de um tempinho em off para repor as energias, afinal... emprego, revista, freela, blog, faculdade e vida social te consomem SÓ UM POUCO!

Vamos ao X (não ao da Xuxa) da questão. Desde que fiz meu curso de javascript peguei uma aversão imensa em relação àquela pobre e oprimida linguagem client-side. O prof. LeoDiass mandava muito bem, mas a apostila elaborada (por aquele que agora é meu chefe! kkk) estava horrível, mas hoje entendo os motivos... Enfim, o tempo foi passando, tive meu primeiro emprego com web em uma agência de publicidade, que foi onde eu tive que manter um contato mais sério e profundo com javascript. Inicialmente suei muito a camisa pra fazer determinadas coisas até relativamente simples, devido à soma da falta de prática com a aversão a ele. Porém, com o tempo fui me familiarizando com a linguagem, surgiu o AJAX, e toda esta novela 2.0 que ronda a web até os dias atuais.

No príncipio de tudo, o javascript saía na mão, nada de extensões no Dreamweaver, IDE's, frameworks ou lib's (bibliotecas).
Eu defendo até isto, pois obriga o desenvolvedor a conhecer a ferramenta que ele tem em mãos, evitando a criação de um profissional "digitador" ou "copiador" de código, ou pior ainda, um "drag-and-dropper"(bem ao estilo Microsoft de ser: desenvolvimento rápido, código pesado e manutenção impossível). Mas logicamente que, com o tempo, o desenvolvedor necessita de uma forma de aumentar sua produtividade, aí sim vale a pena usar um destes recursos, e eu prefiro o uso das bibliotecas somado a uma IDE (como o Aptana, que eu utilizo).

Agora, em meu emprego atual (segundo emprego na área de web), nós desenvolvemos uma libzinha para uso interno, bem padronizada. Mesmo assim, par meus freelas, nunca utilizei nenhuma lib, entretanto após uma leitura na edição 86 da Revista W (para a qual eu escrevo), li uma matéria que me chamou a atenção, sobre jQuery.
Já havia visto algo sobre Prototype e Script.aculo.us (não vou citar seus inúmeros decendentes), bem como dei uma fuçada superficial no Spry, mas não era nada que me animasse a migrar minha maneira de desenvolver pela relação peso x produtividade.
No entanto, a jQuery me chamou a atenção principalmente pela simplicidade com que são implementadas as coisas. Não sei se foi "paixão à primeira vista", sei que olhei, gostei e vou começar a utilizá-la. Caso você já esteja saturado de se estender por linhas e mais linhas de requisições HTTP com o javascript, ou cheio de gastar tempo fazendo n efeitos DHTML que te custam um tempo grande, dê uma olhada no jQuery.

Não precisa ser também só o jQuery, talvez você aí, do lado de lá da tela, se adapte melhor a uma outra lib, mas acredite: agiliza!
Então como "time is money" (como dizia Super Sam), atualize seus conhecimentos e "cai dentro". Não quero fazer "merchan" do jQuery aqui, até porque não estou ganhando NADA com isto, mas quero deixar aí nas ondas da web esta dica para aumento de produtividade com aquilo que talvez consuma mais tempo que até códigos server-side: o javascript (até porque: testa no IE 7, testa no Firefox, teta no IE 6...)
Mas PELO AMOR DE DEUS, só use lib caso você já tenha um conhecimento "bem bom" de javascript. Nenhuma lib ou IDE é melhor que o seu conhecimento e domínio da tecnologia.

[]'s do MX...

Um comentário:

Vicente Maciel Junior disse...

CONCORDO TOTALMENTE! Tá cheio de CopyAndPaster, DragAndDropper... Confudem produtividade com preguiça.

Mas quería só adicionar uma Lib nesse papo, o ExtJS que começei a utilizar agora para resolver a questão do FlashPlayer não renderizar HTML (ao contrário do AIR que já o faz) em uma aplicação em Flex que estou desenvolvendo. Mais precisamente estou utilizando-o para compor uma simples janela que abrirá sobre a aplicação em Flex. Trata-se de um webmail.

Bom, mas enfim, o ExtJS se mostrou muito interessante pra mim. Como eu também tinha aversão ao JS, ele me trouxe de volta e sinceramente me mostrou o uso de "pseudo-classes" (?) que eu nunca tinha aplicado.

Vale dizer que ele abstrai recursos de implementação AJAX, possui implementação de outros Frameworks como o próprio jQuery que você citou, além do YahooUI (yui) e outros.

Parabéms pelo blog!