Em 2009, vou de Zend Framework

Decidi iniciar 2009 com a adoção de um framework PHP. Entre os diversos disponíveis no mercado, minha simpatia girava em torno de três deles:  Zend Framework, CakePHP e CodeIgniter.

Cada um deles tem suas vantagens e desvantagens, portanto a escolha de um deles significava perder em um ponto e ganhar em outro. E após minhas análises optei pelo Zend Framework. Alguns pontos que considerei em minha análise: popularidade, comunidade, documentação, curva de aprendizagem, empresa responsável, envolvimento com o PHP e web 2.0.

O Zend Framework está ficando cada vez mais popular no Brasil e no mundo. Logo, a tendência é um crescimento da comunidade em volta do projeto. Quanto maior a comunidade, mais pessoas envolvidas em contribuições, suporte e melhoria dos códigos e recursos.

A documentação do ZF é super completa, há um guia para iniciantes, relação de todas API, guia de referência (online e em PDF), traduções (uma pena não ter em português do Brasil) e multmídia.

A curva de aprendizagem do ZF não é pequena, confesso. Mas devido a documentação disponível, tutoriais e o Google acredito que esse ponto não seria um empecilho.

A empresa responsável pelo desenvolvimento do Zend Framework é a Zend. Um dos pontos que pesou na escolha. Acho importante ter uma empresa sólida, séria e comprometida por trás de um framework que pretendo adotar. Não quero dizer que a empresa responsável pelo CodeIgniter ou a fundação responsável pelo CakePHP não seja. Além disso há a Zend é hiper envolvida com o PHP.

A Zend tem um grande potencial em fechar parcerias com outras empresas para agregar valor ao seu framework e diversos produtos. E isso tem sido feito com grandes empresas como Google, Adobe, IBM, Fox Interactive Media, Varien (Magento), e a lista continua.

E por falar em web 2.0, o Zend Framework se integra a grandes players da atualidade: Akistmet, Amazon, Delicious, Flicker, SlideShare, Twitter, Yahoo, Technorati, entre outros.

Como evitar conflitos com a função dólar $() de frameworks JavaScript

Praticamente todos os frameworks JavaScript possuem a função dólar $(); e cada um deles com suas peculiaridades. O que significa dizer que em certos momentos conflitos entre essas funções ocorrerão.

Alguns frameworks oferecem soluções para que tal conflito seja evitado; consulte a documentação de cada framework e aplique-a.

Recentemente, precisei utilizar o jQuery para utilizar alguns efeitos que ele oferece, e como desenvolvi todo o projeto utilizando a freeDOM, o conflito entre as funções dólar $() de ambos os frameworks foi inevitável.

Para impedir que a função dólar $() do jQuery entre em conflito com outros frameworks, utilize a seguinte solução:

var $j = jQuery.noConflict();
//ou
var $foo = jQuery.noConflict();
//ou
var $comoQuiser = jQuery.noConflict();

Para quem utiliza o Spry (alguém utiliza?) a indicação é renomear a função $() para Spry.$(); também é possível fazer o processo reverso, ou seja:

var $ = Spry.$;

A freeDOM, ainda não pensei neste aspecto, mas levaremos esse detalhe no próximo release.