Escolhendo um framework PHP


AGRADEÇA AO AUTORCOMPARTILHE!

Gostaria de propor um assunto que há muito tempo é debatido por universitários, empresas e desenvolvedores de softwares, que é a escolha de um framework .

Ao longo dos meus anos de carreira como desenvolvedor tropecei em algumas pedras e descobri algumas pérolas na escolha de Framework PHP, por isso, gostaria hoje de compartilhar esse conhecimento com alguns de vocês que talvez estejam passando pelo mesmo dilema que muitas vezes eu passei. Qual Framework utilizar?

framework-desenvolvimento-software

Imagem via Shutterstock

Hoje temos tantas opções de framework que muitas vezes ficamos perdidos em escolher o “Melhor” para se trabalhar.

Aprendi que a pergunta correta na escolha não é “Qual o melhor Framework” e sim “Qual o melhor Framework para esse projeto“. A escolha de um framework está sim ligada diretamente ao projeto que você está desenvolvendo, mas não só isso, seu tempo e o nível de conhecimento também colaboram para a definição da sua escolha.

Existem alguns aspectos que considero importantes na avaliação de frameworks (não só PHP), e hoje irei mostrar alguns destes e algumas experiências que tive.

O primeiro aspecto a se avaliar é a comunidade do framework. Geralmente frames com uma comunidade muito grande tendem a serem mais completos e possuem um ciclo de vida mais longo, pois recebem maior atenção (para correções, melhorias, etc).

O segundo aspecto é a documentação dessa ferramenta. Quanto mais documentação existir, melhor. Porém, não basta somente palavras escritas ao léu, tem que ser uma documentação fácil de entender, completa (inclusive com exemplos) e constantemente atualizada.

O terceiro ponto a se observar é a quantidade de atualizações que o frame recebeu ao longo dos últimos 3 meses. Isso é muito fácil de se avaliar, basta acessar o repositório do frame e verificar datas de atualizações. Por que isso é importante? Simples, com esta informação sabemos quão ativo é o framework em relação ao dinâmico mercado de desenvolvimento.

O quarto aspecto é a curva de aprendizado desse frame. Sempre leve em consideração o tempo que você vai gastar para aprender a utilizar as funcionalidades, pois isso influência diretamente o tempo de desenvolvimento. Este ponto pode ser avaliado através de pesquisas em fóruns, avaliando e comparando exemplos, etc.

Quinto, quantidade de plugins disponíveis e integração com outras ferramentas. Uma definição bem chula de plugin é: “Precisa de alguma funcionalidade? Busque um plugin que possa já ter a funcionalidade pronta”. Quanto mais plugins prontos existirem para o seu frame, menos tempo você vai ter que perder criando soluções para os desafios genéricos que você vai encontrar.

Sexto e o mais importante, sua satisfação em utilizar a ferramenta. Cada um tem suas manias, gostos e vaidades e ao utilizar um frame isso deve também ser colocado como peso. Se você gosta ou não de trabalhar daquela forma estipulada pelo frame, se as limitações impostas lhe agradam, etc. Claro que muitos permitem personalizações, mas a ideia aqui é pegar um frame e utiliza-lo do jeito que foi criado.

Alguns frameworks interessantes a serem avaliados

Temos frames PHP bem completos, tal como o Zend Framework que é uma super ferramenta. Posso dizer que ele tem “Quase tudo”, sem contar que é utilizado por muitíssimas empresas devido a sua estabilidade. Porém, tem como “lado negro” sua curva de aprendizado, que é muito grande. Então, se você é um cara que está começando agora (menos de 1 ano como programador) é provável que vai patinar bastante para aprender a utiliza-lo. Até mesmo muitos que já tem uma certa experiência não utilizam 100% do potencial da ferramenta.

Na outra extremidade temos o CODEIGNITER, um framework menos robusto que o Zend e com uma curva de aprendizado muito baixa. Minha sugestão para você que tem pouca experiência ou não quer quebrar muito a cabeça para entender um frame, o CODEIGNITER é o ideal, porém, ele também tem um lado negro. Por ser um frame muito simples, esqueça uma quantidade enorme de plugins prontos, tal como o Zend, oferece.

Se você quer uma cópia do CODEIGNITER só que  mais completo, temos o LARAVEL,porém, sua comunidade é muito pequena no Brasil e ainda não tive tempo de estudá-lo a fundo, então não posso falar muito sobre ele. Só me parece muito promissor. Alguém usa e tem algo a comentar sobre ele?

Bom, o meu favorito é o CAKEPHP.

Este é um frame completo (não como o Zend) que me atende em 90% dos casos que atuo. Sua curva de aprendizado é pequena se comparado ao Zend, porém, um pouco maior em relação ao Codeigniter. Se você quer agilidade no desenvolvimento, ele é o cara! Falo que ele é meu favorito, pois até agora não encontrei defeitos, no entanto, se alguém tiver queixas, por favor, deixem nos comentários abaixo.

Existem também outros frameworks que valem a pena dar uma olhada. O Yii, por exemplo, é um super frame – bate junto ao Zend na minha opinião. Temos também o Phalcon que, embora muitos não o considerem um framework, ele ajuda muito no desenvolvimento e integração com banco de dados

Para finalizar, com minha experiência descobri que não existe o melhor framework, aquele considerado “bala de prata” e que resolve tudo da melhor forma (assim como não existe uma melhor linguagem de programação).

Cada um tem suas vantagens e desvantagens, por isso, particularmente, procuro avaliar os pontos descritos acima para escolher um bom frame para cada projeto.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s