Desenvolver códigos com rapidez, em escala industrial, mas sem abrir mão da qualidade do software é o constante desafio de qualquer programador moderno. Não importa o ambiente operacional, os requisitos/plataforma de hardware, o banco de dados utilizado ou a linguagem escolhida, tudo tem que ficar coeso, de acordo com o projeto e desenvolvido de forma veloz.
Quando a temática envolve a linguagem de programação PHP, por exemplo, nós temos atualmente mais de uma dezena de frameworks que prometem e de fato agilizam (e muito) o trabalho do desenvolvedor. São ferramentas munidas de “motores de arranque” bastante úteis, com códigos pré-prontos e com a capacidade de criar a “parte chata” de qualquer aplicação (CRUD) de forma quase autômata. Dentre os mais populares frameworks PHP, podemos destacar o CakePHP, o Symfony, Zend Framework, CodeIgniter, Prado, etc…
Recentemente descobri uma nova ferramenta, o Yii PHP Framework. Licenciado sob BSD License, o ambiente de desenvolvimento conta com uma lista de features compatível aos demais frameworks citados acima e bastante escalável. Dentre os principais recursos podemos destacar: Desenvolvimento em MVC, validação automática de formulários, widgets da Web 2.0, recursos de internacionalização, suporte a XSS e seções, totalmente baseado na programação orientada a objetos, métodos específicos para criação de documentação, mecanismos de integração com outros frameworks e ferramentas (Ruby on Rails, Prado, Symfony, Joomla, etc…) e, como não poderia deixar de ser, gerador automático de código (CRUD).
Um desenvolvedor mais experiente e que já fez uso de frameworks para desenvolver seus códigos, ou mesmo o leitor mais atento deve estar se perguntando: Se praticamente 100% das features do Yii estão presente nos demais frameworks, porque eu deveria testá-lo? – A resposta mais objetiva se dá em função da performance prometida pelo Yii quando do atendimento de requisições. A equipe de desenvolvimento da ferramenta promete uma performance (requisições atendidas por segundo) 87% maior em média do que em aplicações desenvolvidas com o Zend, por exemplo. Um gráfico comparativo pode ser visualizado aqui. Não deixe de ver também o screencast que demonstra a utilização do Yii na prática.