Com o objetivo de encontrar uma linguagem/framework de programação web, que tenha robustez, rapidez e simplicidade de desenvolvimento e manutenção, facilidade de gerenciamento de templates/design, facilidade de integração de novas funcionalidades, menor curva de aprendizagem e melhor relação custo-benefício, ampla documentação e comunidade envolvida entre outros fatores que facilitam a vida de um desenvolvedor web, fiz algumas pesquisas para comparar linguagens de programação para a web, e seus respectivos frameworks de desenvolvimento.
Escolhi as linguagens PHP, Ruby e Python para a pesquisa, devido aos seguintes fatores:
- PHP: maior comunidade do mundo de desenvolvimento Web, minha linguagem atual
- Ruby (on Rails): Teve um boom de muitos desenvolvedores falando que é melhor, mais limpo e mais rápido de desenvolver do que PHP, e que migraram para o Rails. Grandes portais, como o Twitter, usam Ruby on Rails.
- Python: Ultimamente tenho ouvido muito falar de Python para o desenvolvimento web, com muitos elogios sobre a robustez e rapidez de desenvolvimento.
Usei também o Google Insights for Search para pesquisar o interesse das pessoas, e usei um filtro para o nicho Internet -> Web Design e Desenvolvimento. Portanto, nos gráficos do Insigths, para uma melhor comparação por nicho, clique na aba ”Crescimento com relação à categoria Web design e desenvo…”.
Gráficos do Google Insights for Search
Lembre-se de clicar na aba “Crescimento com relação à categoria Web design e desenvo…”.
Interesses por PHP, Ruby e Python, usando como termso de pesquisa os frameworks yii (php), rails (ruby), django (python), cake php, zend :
http://www.google.com/insights/search/#cat=422&q=yii%2Crails%2Cdjango%2Ccake%20php%2Czend%20framework&cmpt=q
Pelas linguagens puras (PHP, Ruby, Python e Java):
Numa comparação de interesses entre PHP, Ruby, Ruby on Rails, Yii e Django, temos o seguinte gráfico:
É perceptível que existe uma rivalidade desigual entre PHP e Ruby on Rails. Isso porque Rails é um framework de desenvolvimento em Ruby. A comunidade Rails, dos quais muitos migraram do PHP, diz que o PHP é sujo, de difícil manutenção, enquanto o Ruby on Rails é limpo, e de rápido desenvolvimento e manutenção. Porém, o correto seria comparar Ruby on Rails com algum framework PHP. Em função disso, e por eu não possuir muita experiência com framework PHP, resolvi buscar, na opnião da comunidade PHP, qual é o melhor framework PHP. Pesquisei no google por ”best php framework“.
Conforme uma pesquisa realizada, cujo resultado está em http://www.phpframeworks.com/top-10-php-frameworks/, Yii é o mais votado como o melhor framework PHP, em resultados recentes, seguido pelo CodeIgniter e depois pelo Cake PHP. Cake PHP é um framework inspirado no Ruby on Rails.
Conforme o gráfico do Google Insights, o interesse por Django, um framework para Python, vem crescendo numa escala menor do que o Yii, porém, percebe-se que não existe um modismo como aconteceu com o Ruby on Rails, que deu um salto, e que começou a cair com o lançamento do Yii (o interesse pelo framework Zend também caiu).
Uma pesquisa de comparação entre o CodeIgniter, o Yii, o Cake PHP e o Zend foi realizada pelo HipRank: http://www.hiprank.com/cakephp-vs-codeigniter-vs-yii-vs-zend.html. Os resultados mostram que o Yii e CodeIgniner são jovens, porém muito bem cotados, seguido pelo Cake PHP, com muitos pontos positivos, enaquanto o Zend não está muito bem cotado, tendo quase 50% de pontos negativos.
Particularmente, minha experiência com Zend não foi muito boa. Achei complicado, e acredito não ser a melhor referência para comparar com o Ruby on Rails. Também não levei muito a fundo a minha experiência com o Cake PHP, mas pelo pouco que tive, foi muito melhor que com o Zend. Nunca usei o CodeIgniter nem o Yii.
Comparando Ruby on Rails com frameworks PHP
- Zend é mais antigo de todos, portanto, deve possuir uma maior comunidade.
- O interesse por Ruby on Rails começou a cair após o lançamento do CodeIgniter (meados de 2006).
- O interesse pelo Zend começou a cair após o lançamento do Yii (meados de 2008), assim como o interesse pelo Cake PHP.
- O interesse por CodeIgniter é o maior de todos, desde antes do lançamento do Yii.
- A curva de interesse pelo Yii vem crescendo de forma semelhante ao do CodeIgniter, consistente e muito menor que o crescimento do interesse por Ruby on Rails (considero que a taxa de interesse do Ruby on Rails foi um boom quando não existia um bom framework PHP que pudesse ser equiparado).
Neste momento, ainda prefiro usar um framework PHP ao invés de Ruby on Rails, ficando entre os dois frameworks PHP: Yii e CodeIgniter. Falta ainda a comparação com Python on Django.
Como a taxa de crescimento do CodeIgniter permaneceu, e a partir das análises anteriores, concluo superficialmente que os desenvolvedores do Ruby on Rails migraram para o CodeIgniter, e os do Zend, Cake PHP e Django começaram a migrar para o Yii (para o desenvolvimento web).
Comparação entre PHP e Python
- Python é mais geral que PHP, podendo ser usado tando para web como para aplicações desktop
- PHP é totalmente voltado para a web, sendo melhor de se utilizar para este propósito
- Praticamente, para a web, tudo o que o PHP faz, o Pyton faz, e vice-versa.
- PHP é mais fácil de se aprender do que Python, para a Web.
- A configuração PHP é mais fácil que a do Python (assim como Ruby)
- Python está inclinando esforços para facilitar o desenvolvimento web.
Conlusão entre Python e PHP
Para aplicações web, ainda prefiro usar o PHP. Mas acredito que o Python possa se tornar uma linguagem para o futuro da web. Apesar de não ter realizado uma pesquisa mais aprofundada, acredito que com Python é ou será possível construir funcionalidades como o Google Docs (atualmente feito em Java). Logo, vou aprender mais sobre Python, mas ainda continuarei usando PHP.
CodeIgniter vs Yii