Com frameworks conseguimos um nível bem elevado de produtividade, já que eles possuem muitas facilidades embutidas e às vezes fazem grande parte do trabalho que seria repetitivo para os programadores.
Hoje em dia temos uma variedade deles no mercado, para a maioria das linguagens de programação largamente utilizadas, como PHP, Java e Python, e também para linguagens de script como Javascript. Alguns deles são muito ligados com a linguagem para a qual foi criada como Rails, tanto que muitas pessoas ouvem falar da linguagem Ruby como Ruby on Rails, e a maioria dos que começam a trabalhar com Ruby já aprendem com o framework.
Quando projetamos um sistema utilizando framework, temos projetos melhores, isso porque economizamos tempo na programação básica e trivial, já que os frameworks fazem o ’serviço sujo’ de programação, ou seja, as coisas básicas que se repetem não precisam ser feitas mais pelo programador e sim automaticamente pelo framework. Com esse tempo a mais, podemos pensar na criação de módulos complexos, e com isso aumentar o nível do projeto para além do esperado no planejamento do prazo.
O uso de frameworks não é totalmente difundido, por vários motivos… Alguns deles que podemos citar são:
- Muitas empresas têm políticas internas para sua não utilização.
- As pessoas tendem a se acomodar com métodos de programação comuns ou com a forma em que aprenderam.
- A adoção de frameworks é difícil no início, pois é praticamente uma outra linguagem ou técnicas a ser aprendida.
Essas características são contornáveis, mas antes disso precisamos compreender muito bem os prós e passar a filosofia inteira para todos os envolvidos no projetos. O tempo de aprendizado do framework é compensado pelos benefícios de seu uso, assim como o aprendizado só é difícil no começo, pois na medida em que vamos usando, vai ficando cada vez mais rápida e automática a criação…
Quero passar a mensagem de que vale a pena pensar no uso dos frameworks, ainda mais hoje em dia com toda a variedade existente no mercado, dos mais básicos e complexos.Fechando aqui, vou deixar uma lista de frameworks que acho úteis para algumas linguagens:
PHP: Code Igniter, Cake, Zend Framework.
Java: Spring, Struts, VRaptor.
Python: DJango.
Ruby: Rails
Javascript: JQuery, Mootools, Prototype