Por quê usar Frameworks?

Por quê usar Frameworks?
INFORMATICA
Essa pergunta já foi bastante discutida pela internet a fora, mas acredito que nesse assunto sempre há espaço para mais questionamentos, argumentações e opiniões. Os frameworks, segundo a definição da Wikipédia, são “um conjunto de classes implementadas em uma linguagem de programação específica, usada para auxiliar o desenvolvimento de software.” OK, já sabemos o que é um framework… mas por quê usá-los?

Vamos nos focar em uma linguagem, o PHP, pois não quero generalizar e falar do que não conheço. No PHP as coisas são mais fáceis de lidar do que em outras linguagens, e isso é bom e ruim ao mesmo tempo. É bom porque o desenvolvimento acaba se tornando menos complexo, e ruim porque qualquer “guri” consegue programar em PHP. Como eu costumo dizer, há um monte de “sobrinhos” por aí que aprendem PHP estruturado no curso técnico e já se diz desenvolvedor. Obviamente estão enganados, mas isso não os impede de programar sites e sistemas cheios de falhas, que no primeiro momento não são visíveis para o cliente, à preço de banana. Isso faz com que profissionais da área que cobram o valor justo por um software passe por “careiro”. Há um ditado que diz “Se você acha caro contratar um profissional, espere para ver quanto custará contratar um amador” e isso condiz com a realidade.

Parece que estamos fugindo do assunto quando falamos dos amadores, mas não. É importante que saibamos as “facilidades” da linguagem para entender a importância de usar frameworks. Os frameworks, como dito antes, facilitam o desenvolvimento do software, mas acredito que facilita apenas para aqueles que conhecem a linguagem realmente. Largar um framework na mão de um amador só vai gerar dor de cabeça, pois qualquer framework de respeito utiliza diversos padrões de projeto e programação orientada a objeto, coisas que o amador nem sonha o que é. Estes padrões são importantíssimos quando se trabalha em equipe, onde por exemplo você começa um código e outro colega dá manutenção ou implementa o mesmo. Imagine se cada desenvolvedor escrevesse seus códigos como bem entender, a quantidade de problemas que iam ocorrer em caso de mudança de equipe e etc… Além do mais, o framework traz pronto diversas coisas que você teria que implementar na mão, como por exemplo envio de e-mails, padrão MVC, etc… Ahhh, mais eu posso fazer na mão se quiser, ou criar meu próprio framework? Sim, você pode, mas como já ouvi diversas vezes: Pra quê reinventar a roda? Se você vai refazer tudo que já está feito apenas por fazer, não compensa. Se seu framework não vai ser melhor que os existentes no mercado, utilize um pronto e se dê por satisfeito. Entre os mais fortes e famosos no mundo PHP cito o Zend Framework, CakePHP, CodeIgniter, Symfony, entre outros.

Como estou fazendo uma análise geral do por quê usar frameworks, tenho como obrigação apresentar os lados negativos também, para que você possa tirar suas próprias conclusões. O principal fator negativo (cito por experiência própria) na minha opinião é na hora de debugar um código. Quando você se depara com um erro, qual a primeira coisa a fazer? Debugar é claro. E quando você percorre todo o código “bugado” e não encontra a falha? Bom, aí você entra em um dilema: ou você não procurou direito e a falha está no seu código, ou (e essa é a pior situação) a falha pode estar no framework. Por boa prática, nunca alteramos os códigos do framework. As vezes perdemos um bom tempo tentando achar a solução para o caso, sendo que às vezes já existem relatos na internet de bugs parecidos (e como consertá-los) e as vezes você não encontra nada. As vezes uma atualização do próprio framework resolve (e hoje em dia com o Composer isso ficou muito mais fácil, mas isso é assunto pra outro tópico) , porém há casos que você precisa resolver por sí só, criando algum path ou algo gênero para o caso, ou relatar o problema ao desenvolvedor do framework e esperar pacientemente por um retorno. Isso me leva a deixar aqui uma dica importante: Antes de escolher o framework que você vai aprender, primeiro consulte sobre a documentação do mesmo, se ele possui atualizações frequentes, se tem suporte e fórum ativos, e principalmente se suas características atendem à sua necessidade.

Em geral, o benefício trazido com a utilização de frameworks é muito maior que as dores de cabeça, portanto eu indico sim o uso deles, sem culpa na consciência. Atualmente utilizo o Zend Framework 2, mas penso posteriormente experimentar o Yii (este me parece ser bem seguro e mais produtivo com relação à qualquer outro que já trabalhei, espero que minha primeira impressão esteja correta).

Agradeço a oportunidade dada pelo Portal Educação para postar este artigo aqui. Espero que gostem, pois possivelmente irei escrever outros. Aguardo, ansioso, a opinião daqueles que lerem este texto. Estou aberto a críticas e sugestões.

Ricardo Brusch de Almeida
Ricardo Brusch - Desenvolvedor Web à 2 anos; Programador PHP com experiência em Zend Framework 2; Principal característica: Devorador de Livros; Blog: http://blog.ricardobrusch.com.br
Sucesso! Recebemos Seu Cadastro.

ASSINE NOSSA NEWSLETTER