O que é um framework: definição e benefícios de se usar frameworks
16 de fevereiro de 2009, em Passos Iniciais, por Tárcio Zemel

No web site oficial do CodeIgniter, vemos na definição que CodeIgniter is a powerful PHP framework. Quer dizer, presume-se que aquele que entrou no site do CodeIgniter já seja um programador PHP e saiba o que é um framework. Entretanto, algumas pessoas utilizam muito o termo “framework” e, inclusive, trabalham com frameworks, sem mesmo saber o que são, exatamente.
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.
Realmente é uma descrição bem feita e que demonstra, de forma bem satisfatória, o que é um framework. Se alguém perguntasse para mim, minha definição não seria muito diferente. Seria algo como:
Framework é um conjunto de scripts feitos por pessoas mais inteligentes que eu para eu 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 (a ordem não é por importância):
- Utilidade. O objetivo primeiro dos framworks é 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 frame works 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 framworks 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).
Considerações sobre frameworks
Existem, literalmente, milhares de frameworks disponíveis para as diversas linguagens de programação existentes. É importante, antes esta imensidão de “oferta”, 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 frame work é 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!
Existem dicas de como escolher um bom framework, mas, já adianto, em programação PHP, o melhor é CodeIgniter! ;-)
10 comentários em "O que é um framework: definição e benefícios de se usar frameworks"
Tárcio Zemel em 26 de junho de 2009
@ Vanderlei
Obrigado pela força, Vanderlei! No caso, este blog é focado principalmente no framework PHP CodeIgniter; certamente com uma pequena busca na internet você vai encontrar material mais focado em JAVA FX.
Abraços!
Thiago Quinteiro em 3 de novembro de 2009
Cara, ótimo post. Eu até ler isso, me perguntava qual sería a real definição de um framework.
Parabens/Valeu
Tárcio Zemel em 15 de novembro de 2009
@Thiago Quinteiro
Que bom que o artigo sobre frameworks lhe foi útil, Thiago! Fique ligado no CodeIgniter Brasil para acompanhar muito mais definições, tutoriais e dicas sobre CodeIgniter! ;-)
Nei em 14 de dezembro de 2009
Adorei esta parte hehehehehe
“Existem dicas de como escolher um bom framework, mas, já adianto, em programação PHP, o melhor é CodeIgniter! ;-)”
Ótimo post.
Marcelo Diniz em 29 de janeiro de 2010
Muito bom o post. Vou continuar lendo os outros posts na parte de passos iniciais e ver o que eu consigo aprender com isso, mas vamos ver o quanto antes eu já quero colocar a mão na massa, mas claro, tudo no seu tempo.
Tárcio Zemel em 1 de fevereiro de 2010
@ Nei
Obrigado, Nei! Aguardamos sua presença e participação nos próximos artigos. Abraços!
@ Marcelo Diniz
COntinue acompanhand o CodeIgniter Brasil para aprender a mexer no melhor framework PHP da atualidade! Obrigado por comentar!
- CodeIgniter: framework PHP ágil, robusto e de alta performance | CodeIgniter Brasil em 2 de março de 2009
- 10 razões de porque CodeIgniter arrasa | CodeIgniter Brasil em 27 de abril de 2009
- CodeIgniter: Requisitos de Servidor e Licença de Uso | CodeIgniter Brasil em 20 de maio de 2009

Vanderlei em 7 de junho de 2009
Parabéns pela postagem, e de como apresenta a definição de framework.
Faço uma pergunta o que acha do framework JSF e JAVA FX?
Tem informações de JAVA FX?
Obrigado e parabens..
Vanderlei – Foz do Iguaçu – Paraná.