Introdução
O tempo vai passando e os avanços das técnicas de desenvolvimento de software vem crescendo constantemente, o processo de construção continua sendo extremamente complexo. Uma das abordagens para diminuir a complexidade e aumentar a produtividade e a qualidade tem sido a reutilização de códigos.Os projetistas mais experientes sabem que não devem resolver cada problema a partir de princípios elementares ou do zero, mas reutilizar soluções que funcionaram no passado. No entanto apesar das óbvias vantagens da reutilização de software, a maior parte dos sistemas continua a ser desenvolvida a partir do zero. Com isso, pode-se concluir que a metáfora da reinvenção da roda é uma prática freqüente no processo de construção de software.
Uma das propostas da reutilização, é a de usar frameworks, porque Independente da linguagem ou tecnologia que estamos usando, um conceito global é: não queremos ficar nos preocupando com infraestrutura.
O que é um framework?
Existem muitas definições para “framework“, feitas por muitas pessoas diferentes; algumas muito estudadas e que desenvolveram seus próprios frameworks, outras nem tanto, mas que buscam uma definição precisa para o termo.Segundo a Wikipédia, framework:
"É uma estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido. Um framework pode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para auxiliar no desenvolvimento e unir diferentes componentes de um projeto de software."
"Framework é um conjunto de scripts feitos por pessoas para programar de forma mais rápida, fácil e eficiente."
Falando francamente e sem muito “tecnicinismo”, um framework não passa disso mesmo: um monte de arquivos organizados, com um monte de funções, rotinas e variáveis inclusas, que servem para nos poupar o tempo de “reinventar a roda” diversas e diversas vezes, para cada novo projeto.
Quais as vantagens em usar frameworks?
Você já deve ter percebido que há muitas vantagens em se usar um framework. Mas, para ser mais explícito, algumas das vantagens em se usar frameworks são:Utilidade
O objetivo primeiro dos frameworks é auxiliar no desenvolvimento de aplicações e softwares. Para tal, eles têm funcionalidades nativas das mais variadas, que ajudam você a resolver as questões sobre programação do dia-a-dia com muito mais qualidade e eficiência.
Segurança
Os bons frameworks são projetados de modo a garantir a segurança de quem programa e, principalmente, de quem usa o que foi feito a partir dele. Não se preocupe mais com aquelas intermináveis linhas de código para evitar um SQL Injection, por exemplo; com frameworks, a parte de segurança já “vem de fábrica”.
Extensibilidade
Os frameworks permitem que você extenda suas funcionalidades nativas. Se aquela biblioteca de envio de e-mails por SMTP não contempla todas as possibilidades que você gostaria, simplesmente extenda suas funcionalidades e as use como se fossem parte do framework (na verdade, elas serão).
Economia de tempo
O que você demoraria algumas horas ou alguns dias para fazer, você encontra pronto em um framework. Pense no quão trabalhosas aquelas funções de manipulação de imagens são; usando um framework que tenha isso, você só usa, e pronto.
Ajuda fácil
Os que desenvolvem frameworks geralmente disponibilizam material de qualidade nos web sites ou repositórios oficiais, com uma vasta documentação a respeito. Além disso, os bons frameworks sempre têm uma comunidade de desenvolvedores dispostos a se ajudarem entre si. É um prazer para os que já sabem mexer ajudar os que ainda não sabem (embora a falta de tempo também seja uma realidade).
Conclusão sobre frameworks
Existem, literalmente, milhares de frameworks disponíveis para as diversas linguagens de programação existentes. É importante optar por um que atenda a suas necessidades e que seja consoante a seu método e estilo de trabalho.Inicialmente, pode parecer que usar um framework é pior do que fazer uma “programação pura”. Entretanto, tenha certeza: vale a pena dedicar seu tempo nisso! As vantagens vindouras de ter um projeto bem estruturado e rodando numa plataforma segura e estável, realmente compensam!