Usar ou não usar um framework PHP? Essa é uma questão muito debatida dentro da comunidade de desenvolvedores dessa linguagem.
Mas por que a polêmica? Objetivamente, quais são as vantagens e as desvantagens do uso de um framework no desenvolvimento de aplicações?
Este é o tema a ser abordado no texto que segue. Acompanhe.
Sobre o framework PHP
Por framework podemos entender uma estrutura, plataforma ou base de apoio. No caso do framework PHP, trata-se de um conjunto de facilidades que torna o desenvolvimento de aplicações mais produtivo.
PHP é uma linguagem de programação bastante simples, e é essa simplicidade que torna improdutiva a codificação de aplicações mais complexas. Por isso existem os frameworks.
Um framework PHP é especialmente útil para:
- O desenvolvimento rápido de aplicações;
- A criação de aplicações sólidas e seguras;
- A redução da repetição de códigos.
Frameworks PHP são baseados no modelo MVC (Model, View, Controller), que segrega a codificação de aplicações em três camadas distintas:
- O Model, que faz a interface com o banco de dados;
- O View, que corresponde à camada de exibição;
- O Controller, que contém essencialmente as regras de negócios.
Frameworks, API’s e bibliotecas
Esses três termos são, por vezes, utilizados como sinônimos e é compreensível que isso ocorra. Afinal, todos eles apontam para uma mesma ideia final: a de evitar que um desenvolvedor reinvente a roda, preferindo recorrer a soluções já desenvolvidas.
Por outro lado, em outros contextos, mais específicos e técnicos, convém diferenciar um do outro.
Biblioteca é um conjunto previamente codificado de funcionalidades, normalmente de uso genérico e frequente.
Utilizar funcionalidades de uma biblioteca elimina a necessidade de reescrever código e estabelece uma padronização de comportamentos da aplicação.
Um exemplo típico de funcionalidade de uma biblioteca, entre tantos, seria a função que exibe mensagens na tela para o usuário.
A API (Aplication Programming Interface) já é uma solução fechada e para uma finalidade específica.
Por exemplo, uma API do Google Maps pode fornecer informações sobre localização geográfica.
Por sua vez, o framework é um conjunto de padrões adotados para agilizar a construção de aplicações. Bibliotecas e API’s podem fazer parte de um framework.
Principais frameworks PHP no mercado
Podemos classificar os principais frameworks PHP disponíveis no mercado em duas categorias:
- Os frameworks back-end, que oferecem recursos como lógicas para login, sessão, compactação de imagens e conexão a gerenciadores de banco de dados, entre outros. Exemplos:
- CodeIgniter;
- Laravel;
- Zend Framework;
- Cake PHP.
- Os frameworks front-end, que oferecem recursos mais voltados para a camada de exibição das aplicações. Exemplos:
- Bootstrap;
- Foundation;
- Materialize CSS.
Vantagens do uso de um framework PHP
Entre as principais vantagens na utilização de um framework para desenvolvimento em PHP, podemos citar:
- A qualidade: um bom framework normalmente adota as melhores práticas da linguagem;
- A segurança: bons frameworks oferecem recursos para garantir a integridade das aplicações;
- A flexibilidade: é possível desenvolver bibliotecas próprias dentro do framework;
- A documentação: frameworks oferecem boa documentação de suas implementações;
- A comunidade de usuários: os fóruns e grupos de discussão são ótimas referências para se tirar dúvidas;
- O padrão: frameworks normalmente permitem o desenvolvimento de aplicações com padrões definidos, estáveis e organizados;
- O controle de qualidade: a própria comunidade de usuários, ao utilizar o framework, vai assegurando que ele seja continuamente testado e melhorado;
- A produtividade: com muitas soluções prontas ou quase prontas, as aplicações ou partes delas podem ser construídas rapidamente.
Desvantagens do framework PHP
Do lado das desvantagens, podemos citar como principais:
- O desestímulo ao aprendizado da linguagem: principalmente para desenvolvedores em início de carreira, o framework, com seus atalhos e facilidades, pode desestimular o pleno domínio dos recursos da linguagem;
- A limitação de conhecimentos: da mesma forma, ao acostumar-se a utilizar um determinado framework, o desenvolvedor pode enfrentar dificuldades quando se deparar com uma situação em que não possa utilizá-lo;
- A curva de aprendizagem do próprio framework: pode parecer algo sem muito impacto, mas frameworks são diferentes uns dos outros;
- O conhecimento incompleto do framework: desenvolvedores adotam frameworks pensando naquilo que poderão aproveitar, mas o ideal é conhecer o framework por completo, para que ele não venha a ser uma caixa preta, com comportamentos inesperados para a aplicação;
- Dificuldades de configuração: nem sempre os frameworks são fáceis de configurar; algumas vezes, eles se comportam de uma forma no ambiente de desenvolvimento e de outra no de homologação, por exemplo;
- As constantes atualizações: novos frameworks e atualizações dos já existentes são disponibilizados a todo momento, criando uma miscelânea de difícil administração por parte de consultores e desenvolvedores;
- O excesso de recursos: alguns frameworks foram pensados para oferecer todo tipo de solução. O resultado é que eles podem sobrecarregar a aplicação, a ponto de comprometer seu desempenho.
Usar ou não usar frameworks?
Não há uma resposta única para a questão. Existem diferentes situações e existem diferentes pontos de vista para uma mesma situação. Por exemplo:
- Empresas adotam frameworks pensando no ganho de produtividade e na padronização que de alguma forma ameniza os efeitos da rotatividade de profissionais.
- Por sua vez, para um consultor que dá suporte a diferentes clientes e cada um usa um framework diferente, talvez o ideal fosse que existisse um único framework no mercado;
A favor do uso de frameworks, o argumento de não levar o desenvolvedor a reinventar a roda é de fato muito forte.
Porém, ao adotar um framework, esse desenvolvedor adquire, não só a roda de que tanto necessitava, mas uma coleção inteira de rodas das quais ele certamente não vai precisar.
Além disso, esse “sobrepeso” dos frameworks que não tem utilidade para a aplicação, acaba por comprometer seu desempenho, conforme já citado.
Pensando então no desempenho da aplicação e no consumo de recursos de processamento, evitar o uso de frameworks, sempre que possível, pode ser uma solução.
Para aplicações pequenas, por exemplo, o mais sensato pode ser não adotar framework algum.
Outra solução, adotada por alguns desenvolvedores, é criar um framework próprio, customizado.
A opção pelo framework próprio
Desenvolvedores que já têm alguma experiência acumulada certamente criaram um padrão próprio de trabalho.
Pois esse padrão próprio pode vir a ser um framework customizado, que o desenvolvedor pode ter à mão sempre que precisar.
Mais uma vez, o único senão para essa iniciativa reside no fato de que a aplicação se torna muito dependente de seu desenvolvedor original.
Mas isso também pode ser contornado, caso o desenvolvedor original produza uma boa documentação de suas implementações.
Concluindo…
O risco de sobrecarga e perda de desempenho não pode ser ignorado no desenvolvimento de aplicações em PHP.
Portanto, se o risco é real e está associado ao uso de um framework PHP, há que se chegar a uma solução, seja pelo não uso de um framework, seja pela criação de um framework customizado.