Sexta-feira, 28 de Dezembro de 2007
1 Star2 Stars3 Stars4 Stars5 Stars (3 votos, média: 3.67 de 5)
Loading ... Loading ...

Trabalhei em muitas empresas e estive envolvido em muitos projetos interessantes nos últimos anos. Alguns projetos mais complexos se tornaram onerosos e o motivo era bem simples: faltava profissional altamente capacitado no mercado para formar uma equipe e executa-lo no prazo estimado.Como resolver esse problema? Onde encontrar profissionais capacitados a desenvolver programas complexos em PHP? Como isso se revelou uma tarefa difícil, comecei a pensar meios de reverter o problema e cheguei a seguinte conclusão: falta incentivo para o programador PHP se desenvolver e se dedicar a carreira.

O primeiro obstáculo é o preconceito. Existe um preconceito no mercado de que os sistemas desenvolvidos em PHP, ou outras linguagens script, e os seus programadores são amadores ou não são competentes. O Joel Spolsky, do Joel on software, escreveu um artigo em 2002 sobre esse problema. Esse site tem como objetivo provar o contrario já com um serie de artigos e cases que vou publicar aqui.

Outro motivo é que falta material de qualidade aqui no Brasil e isto cria uma insegurança nas pessoas que estão precisando aprender novas técnicas ou simplesmente decidindo qual tecnologia empregar em seu negocio. Estou preparando alguns artigos para mostrar não uma linguagem, mas toda uma tecnologia.

O objetivo é mostrar soluções profissionais para problemas complexos que você possa estar passando e que possa auxiliar a decidir a melhor estratégia a tomar no teu projeto (ou convencer teu chefe).

Comparando Tecnologias

Muitos fazem a comparação de JAVA vs PHP vs .NET etc mas se esquecem de um detalhe importante: O Java e o .NET são patrocinadas, divulgadas e marketeadas por multinacionais, enquanto o PHP, o Python, Rails e outras tem somente a comunidade para fazer esta tarefa.
Outra coisa que muitos erroneamente comparam é a linguagem e não a tecnologia. Exemplo: comparam JAVA vs C#, PHP vs JAVA. O nosso foco é web. Precisamos comparar tecnologias para a web, não linguagens. O certo seria comparar algum framework J2EE vs .Net vs algum framework em PHP.

Comparação de tecnologias para web

Uma comparação muito interessante foi feita pelo Tim Bray, diretor de tecnologia da Sun, a um pouco mais de um ano na PHP International Conference em Frankfurt. No seu artigo, ele comparou o Java, o PHP e o Ruby on Rails. Sem ser tendencioso, ele fez um retrato do que se esperar destas 3 tecnologias e quando escolher uma ou outra. Resumindo ele diz que se você precisa fazer um projeto com uma carga muito alta de processos e precisa faze-lo rápido, a solução ideal é o PHP. Ele fez também algumas criticas a problemas do PHP, que foram muito bem aceitas pela comunidade e então começaram a corrigir os pontos fracos apontados.

Hoje, após um ano, já temos um avanço muito significativo que merece inclusive uma revisão deste gráfico. Vou apontar algumas coisas relevantes:

Velocidade de Desenvolvimento:
Inspirado pelo bum do Rails, muitos desenvolveram frameworks extremamente eficientes. É caso do Symfony que é usado pelo Yahoo nos aplicativos Yahoo Bookmarks e agora tambem no novo del.icio.us. O symfony merece uma artigo aparte mas descrevendo rapidamente, ele tem CRUD, MVC, assistente para Ajax e é muito bem documentado. Praticamente todos os recursos (ou os mais importantes) do rails estão presentes.

Outros frameworks relevantes são o Zend Framework e o CakePHP. O CakePHP e o symfony em muitos aspectos são parecidos, também possui a maior parte dos recursos do Ruby on Rails. O Zend é muito flexivel e é o que tem a curva de aprendizado mais baixa, mas não possui tantos recursos como seus concorrentes.

Ferramentas de desenvolvimento
É difícil concorrer com o java ou com o .Net deste quesito, mas mesmo assim a comunidade criou ferramentas poderosíssimas como o PDT, um plugin para o eclipse, e é uma plataforma completa de desenvolvimento em PHP. Quem já usou o eclipse vai se sentir muito confortavel. Outro plugin que merece menção, mesmo não sendo somente para PHP, é o aptana que é um editor de html, javascript e possui suporte muitas bibliotecas em ajax.

Manutenção de código
Essa talvez seja uma das maiores injustiças feitas ao PHP.
Todo mundo que já programou sabe que é possível fazer um código ruim em PHP, java, C++, ou qualquer outra linguagem, e que para se manter um código precisa se ter organização e disciplina. A Sun foi muito feliz ao criar padrões como o J2EE, que obriga todos a programar de uma mesma forma sem reinventar a roda e de forma organizada. Isso garante coesão ao projeto.

Todos os frameworks que eu conheço, em qualquer linguagem, necessitam manter um padrão de codificação e organização senão simplesmente não funciona. No PHP não é diferente. Quer ter um código legível e expansivo, adote bons padrões na equipe e se possível, um daqueles frameworks que mencionei acima.

O PHP dá uma liberdade muito grande e permite que qualquer um consiga fazer um site em questão de horas, sem precisar saber programar (quem já trabalhou em agencia de publicidade sabe o que eu estou falando). Isso é bonito, mas não funciona. E por isso que devemos aplicar, divulgar e ensinar boas praticas de programação aqueles que estão mais próximos. Em suma, é uma questão de educação.

Minha atualização
O gráfico atualizado segundo minhas observações

 

Conclusão: Por que usar o PHP

Se voce pegar o ranking com os 100 sites mais visitados do mundo, a maior parte roda em PHP. Vou citar alguns: Yahoo, Wordpress, friendster, facebook, além dos aplicativos instalados em milhões de sites como o Drupal, Joomla,
phpBB entre outros. Voce provavelmente passa muito mais tempo acessando sites escritos em php do que em outra linguagem.

Veja Tambem

    None Found


  7 Respostas para “Por que mais um site sobre PHP”


> Deixe uma Resposta