Back-End

9 ago, 2013

7 razões por que o WordPress tornou o PHP popular, e não os frameworks PHP

Publicidade

Recentemente, o Índice Tiobe publicou uma atualização de seu índice de linguagens de programação, justificando que o PHP tem subido de popularidade devido ao Zend Framework 2, mas ele não justifica o porquê.

Leia este artigo para entender uma opinião que acha que essa justificativa é indevida e que a popularidade do PHP se deve mais ao WordPress do que aos frameworks da linguagem.

O que é o Índice Tiobe de linguagens de programação?

O Índice Tiobe é um ranking organizado pela empresa Tiobe que tenta demonstrar qual a popularidade das linguagens de programação quando comparadas umas com as outras. Ele foi iniciado em 2001 e é atualizado todo mês.

Ele leva em conta o número de resultados de buscas de nomes de linguagens ou equivalentes em diversos sites, como Google, Blogger, Wikipedia, YouTube, Baidu, Yahoo!, Bing e Amazon.

A subida do PHP no índice Tiobe

O PHP sempre foi muito popular de acordo com o ranking Tiobe, mas, recentemente, sua popularidade aumentou um pouco mais do que costumava. De acordo com o pessoal da Tiobe, isso pode ser devido ao lançamento do Zend Framework 2 no ano passado. Entretanto, eles não explicam como chegaram a essa conclusão.

Índice Tiobe para julho de 2013

Position
Jul 2013
Position
Jul 2012
Delta in Position Programming Language Ratings
Jul 2013
Delta
Jul 2012
Status
1 1 C 17.628% -0.70%   A
2 2 Java 15.906% -0.18%   A
3 3 Objective-C 10.248% +0.91%   A
4 4 C++ 8.749% -0.37%   A
5 7 PHP 7.186% +2.17%   A
6 5 C# 6.212% -0.46%   A
7 6 (Visual) Basic 4.336% -1.36%   A
8 8 Python 4.035% +0.03%   A
9 9 Perl 2.148% +0.10%   A
10 11 JavaScript 1.844% +0.39%   A
11 10 Ruby 1.582% -0.19%   A
12 14 Transact-SQL 1.568% +0.61%   A
13 15 Visual Basic .NET 1.254% +0.34%   A
14 19 PL/SQL 0.920% +0.28%   A-
15 13 Lisp 0.868% -0.13%   A
16 16 Pascal 0.792% -0.04%   A
17 12 Delphi/Object Pascal 0.691% -0.47%   B
18 20 MATLAB 0.680% +0.04%   B
19 23 Bash 0.622% +0.04%   A-
20 25 Assembly 0.581% +0.03%   B

Evolução do Índice Tiobe até julho de 2013

tiobe-1

7 razões por que o WordPress tornou o PHP popular, e não os frameworks PHP

1. WordPress é o aplicativo PHP mais popular

Contar o número de resultados de busca em vários sites talvez seja uma forma de medir a popularidade relativa de uma tecnologia, linguagem, aplicativo ou produto.

Entretanto, esse método não parece muito confiável. Quando um serviço de busca muda seus algoritmos, você talvez veja mudanças nos resultados que realmente não possuem relação com a popularidade dessas tecnologias.

Uma forma mais confiável de medir a popularidade relativa de uma tecnologia é recorrer ao Google Trends. Trata-se de um serviço que o Google fornece para demonstrar a evolução de um número de buscas relativas a uma dada palavra-chave com o passar do tempo.

Como você pode ver no gráfico do Google Trends, o WordPress é muito mais popular do que qualquer outra aplicação PHP como Joomla, Drupal ou Magento (o qual é baseado no Zend Framework).

tiobe-2

2. O WordPress é muito mais popular do que qualquer framework PHP

Utilizando o Google Trends, é possível comparar a popularidade de diferentes frameworks PHP. Se você comparar a popularidade do WordPress com Zend Framework, Symfony PHP e CakePHP, conforme pode ver no gráfico abaixo, o WordPress é muito mais popular do que todos esses frameworks PHP juntos.

tiobe-3

3. WordPress não utiliza frameworks PHP

O WordPress tem utilizado alguns componentes de terceiros, mas eles não são frameworks do tipo full-stack. Isso implica no fato de que o WordPress nunca necessitou de um framework full-stack para ser criado. O uso de tais frameworks dificilmente faria alguma diferença em sua popularidade.

4. Aplicativos tornam uma tecnologia popular, não componentes

No gráfico acima, você talvez note que o Magento é muito mais popular do que o Zend Framework. O Magento é construído com o Zend. Isso parece implicar em que o que torna um aplicativo popular é o fato de ele resolver os problemas dos usuários, não os componentes com os quais ele é criado.

O WordPress é popular também por causa de sua utilidade para muitos usuários. Quando usuários precisam hospedar uma instalação do WordPress, eles precisam buscar por um serviço de host que suporte PHP. Portanto eles sabem, mesmo que superficialmente, o que é PHP e que eles precisam de um hosting PHP.

Isso significa que o WordPress ajudou a tornar o PHP ainda mais popular. Quanto mais instalações de WordPress houver, mais a linguagem se tornará popular.

5. O ecossistema extensível de plugins WordPress

Uma das razões mais importantes que tornaram o WordPress popular é a miríade de plugins que foi desenvolvida para fornecer recursos adicionais.

Há plugins WordPress para praticamente qualquer coisa, incluindo aquelas que podem transformá-lo em outra coisa além de um sistema de blog. Há plugins para transformá-lo em fóruns, sites de e-commerce, sistemas de tickets de chamados etc. Enfim, qualquer coisa.

Se o WordPress como aplicativo de blogs já era muito popular, ele se tornou ainda mais popular como uma plataforma que pode ser transformada em qualquer outro tipo de aplicativo.

6. Não-programadores desenvolvem em PHP por causa do WordPress

Se você precisar de um site que necessita de um certo recurso que o WordPress não possui, você pode desenvolver um novo plugin para estender o WordPress e adaptá-lo às suas necessidades.

Muitos dos usuários de WordPress não são realmente programadores. Eles começaram a programar porque precisavam ter recursos no WordPress que não eram fornecidos por nenhum outro plugin.

Isso significa que não-programadores precisaram aprender PHP para serem capazes de desenvolver plugins para o WordPress. Isso colaborou para tornar o PHP ainda mais popular entre não-programadores.

7. Pragmatismo é melhor do que purismo

Em resumo, eu poderia dizer que o WordPress e o PHP em geral se tornaram populares porque podem ser usados para resolver necessidades práticas de muitos usuários.

Nem o WordPress nem o PHP são exemplos de projetos de software tecnicamente admiráveis, consistentes ou que sempre seguem planos bem pensados ao adotar modelos de melhores práticas e design patterns.

Mas isso não importa. Eles foram criados por pessoas com um senso pragmático bastante grande e foram focados em resolver problemas do mundo real.

Muitos frameworks PHP parecem ter sido desenvolvidos em planetas totalmente diferentes. Eles normalmente são desenvolvidos por puristas que parecem estar mais preocupados com o número total de design patterns que implementam nos componentes do framework, do que em serem pragmáticos e resolverem necessidades de aplicativos PHP reais.

Para piorar as coisas, muitos frameworks PHP adotam sistematicamente práticas de outros frameworks escritos em outras linguagens. Isso aumenta o total de dificuldades desnecessárias para os desenvolvedores PHP que tentam utilizá-los.

Um exemplo desses problemas são os formatos de configuração. No mundo, Java ainda é normal utilizar XML como formato para armazenar valores de configuração. XML é um formato portátil que pode ser escrito por humanos. Certamente foi um progresso quando comparado com formatos binários usados para serializar estruturas de dados em aplicativos C++ do passado.

Essa foi uma ótima solução em 2000, mas o fato é que o XML é um obstáculo. É preciso abrir e fechar tags para cada valor. Algumas vezes os valores são armazenados como atributos de tags, outras vezes como valores de tags. São frequentemente dolorosos de usar.

Então, o Ruby on Rails veio com a promessa de se livrar de alguns dos dolorosos hábitos do universo Java. Em vez de usar XML, eles decidiram usar YAML, que é uma linguagem de markup simplificada. É mais simples que XML, mas trata-se de um formato a mais para aprender.

Muitos frameworks PHP foram criados copiando as práticas do Ruby on Rails, incluindo o uso do YAML como formato de configuração. Muitos anos se passaram, e eles ainda usam YAML.

Se você é um desenvolvedor PHP, o formato com que você está mais acostumado é PHP. Por que esses frameworks PHP não tornam a vida dos desenvolvedores PHP mais fácil ao adotar scripts PHP como formato de configuração? Scripts PHP podem até mesmo ser armazenados em cache e carregados muito mais facilmente.

No pior dos casos, se você precisa utilizar um formato mais portátil, por que não utilizar o formato JSON para armazenar valores de configuração? JSON é JavaScript, e todo desenvolvedor PHP sabe JavaScript. É muito natural adotar esse padrão atualmente.

Infelizmente, muitos frameworks PHP ainda estão presos a formatos que não são a escolha natural para desenvolvedores PHP, como XML, YAML ou INI (um formato do mundo Windows).

Eu sempre tenho a impressão de que frameworks PHP não foram feitos para agradar desenvolvedores PHP. Eles parecem ser pensados para agradar desenvolvedores Java ou Ruby. Para piorar, muitos dos frameworks PHP mais novos continuam copiando os mesmos erros dos frameworks mais antigos.

É claro que há exceções. Realmente há frameworks PHP que foram desenvolvidos de uma maneira mais pragmática para desenvolvedores PHP. Você pode facilmente aprendê-los sem ter que adquirir conhecimentos em frameworks Java ou Ruby antes.

Infelizmente, esses não parecem ser os frameworks PHP que ganham mais visibilidade. Talvez seja hora de os desenvolvedores de frameworks PHP repensarem suas opções e passarem a pensar mais nos desenvolvedores PHP do que nos desenvolvedores de outras linguagens.

Devo criar o meu site em WordPress ou com algum framework PHP?

Um dilema frequente que desenvolvedores PHP passam é se devem desenvolver sites com base no WordPress ou desenvolver do zero com o auxílio de um framework existente?

Essa é uma pergunta difícil. Se o site for um blog, talvez seja uma opção óbvia fazê-lo com WordPress e economizar muito tempo de desenvolvimento. Se o site for mais do que um blog, mas houver plugins para a funcionalidade que você precisa, esta ainda pode ser uma opção.

Agora, se o seu site for muito diferente de um blog, a quantidade de código que você reutilizaria do WordPress seria muito menor quando comparada com todo o tamanho do projeto. Nesse caso, talvez seja melhor começar o desenvolvimento do site do zero.

Se você ainda precisar de um blog, pode utilizar o WordPress em um domínio separado ou em um diretório separado no seu site.

Para a grande quantidade de funcionalidades que você terá que desenvolver, será possível utilizar um framework PHP existente para ganhar algum tempo de desenvolvimento, ou utilizar seu próprio framework, se tiver um bom framework capaz de atender às suas necessidades.

Pessoalmente, tendo a adotar a última opção. Posso ter um maior controle do meu projeto, mas estou ciente de que esse caminho pode levar mais tempo para desenvolver e corrigir eventuais bugs no código.

Frameworks são bons quando forçam um método produtivo

Apesar dos problemas descritos acima, os quais muitos frameworks podem ter, para algumas pessoas, adotar um framework é provavelmente a melhor solução, especialmente se ele for o que chamam de “framework dogmático”.

É assim que são chamados os frameworks que impõem uma certa metodologia de desenvolvimento. Isso significa que há apenas uma forma de desenvolver aplicativos com esses frameworks.

A razão pela qual essa é uma boa solução para alguns desenvolvedores é porque eles não possuem uma metodologia bem definida de desenvolvimento. Isso significa que se eles não saberão como começar, como progredir e como efetuar o deploy da aplicação, a não ser que alguém diga para eles.

Uma vez que frameworks dogmáticos impõem uma certa metodologia de desenvolvimento, os desenvolvedores aprendem como desenvolver seus aplicativos seguindo a metodologia imposta pelo framework.

Um exemplo de framework dogmático é o Ruby on Rails. Frameworks PHP inspirados no Ruby on Rails tendem a ser também.

Opiniões não são fatos

Bem, este artigo é apenas a minha opinião e minha experiência como um desenvolvedor que tem criado software por muitas décadas.

Mas opiniões são exatamente isso, pontos de vista de pessoas específicas. Expressar uma opinião não significa que há apenas uma forma de interpretar os fatos.

Da mesma forma que o pessoal do índice Tiobe expressou sua opinião sobre o crescimento da popularidade do PHP ter sido motivada pelo lançamento do Zend Framework 2 no ano passado, outras pessoas podem expressar diferentes interpretações dos fatos.

O que você pensa? Você tem uma opinião diferente em relação ao que foi expressado neste artigo? Poste um comentário e conte o que acha.

***

Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://www.phpclasses.org/blog/post/215-7-Reasons-Why-WordPress-Made-PHP-Popular-not-PHP-Frameworks.html