Framework: o que é e como ele pode ajudar?

Postado em: 21 de dezembro de 2015 - Por: Érika Bazilio

Lorimerlite_framework_blog

 

Se você procurar na internet, vai encontrar diversos conceitos para framework. Mas todos variam mais ou menos sobre o mesmo tema: conjunto de ferramentas (classes, métodos) que facilitam o trabalho dos desenvolvedores, para você pensar realmente no que interessa, ou seja, o desenvolvimento da sua aplicação. O framework também é chamado de arcabouço.

O framework trabalha com o conceito de reuso que é um dos principais objetivos da Engenharia de Software. “A tecnologia de frameworks possibilita que uma família de produtos seja gerada a partir de uma única estrutura que captura os conceitos mais gerais da família de aplicações” (Pinto, 2000). Em outras palavras, é não reinventar a roda. E é para isso que os frameworks existem.

O professor canadense, Jacques Sauvé, que atualmente leciona Ciência da Computação, na Universidade de Campina Grande (PB), tem uma ilustração que explica de forma bastante simples como funciona um framework.

 

Framework_desenho

Quando usar o Framework (Sauvé, 2011)

 

Classificação

Os frameworks podem ser classificados de diversas formas, mas inicialmente eles são divididos em dois grandes grupos principais: frameworks de aplicação orientado a objetos e framework de componentes.

 

Frameworks x Biblioteca de classes

Muita gente confunde os dois conceitos, mas biblioteca de classes é uma das técnicas mais simples de reuso de software. Em uma biblioteca de classes, cada classe é única e independente das outras. Já em um framework, as dependências/colaborações estão embutidas (wired-in interconnections). Vamos recorrer de novo a um desenho de Sauvé que explica de forma bem simples essa diferença.

 

biblioteca x framework

Diferenças entre um Framework e uma Biblioteca de Classes

 

Outro conceito importante quando falamos em framework, é a chamada inversão de controle, também conhecida como Hollywood Principle ou Princípio de Hollywood: “Don’t call us, we will call you” (Larman, 2004). Ou seja, ao contrário das bibliotecas, é o framework quem dita o fluxo de controle da aplicação.

 

biblioteca x framework Fig.2

Biblioteca x Framework

 

Vantagens

Já deu para perceber por que muitos programadores preferem usar frameworks a começar uma programação do zero. Entre as vantagens podemos destacar:

*Tempo

Auxiliam no desenvolvimento de aplicações e softwares, resolvendo questões de programação do dia a dia com muito mais qualidade e eficiência.

*Segurança

A parte de segurança já “vem de fábrica” e você não vai precisar se preocupar com intermináveis linhas de código para evitar um SQL Injection, por exemplo.

*Extensibilidade

Os frameworks permitem que você incorpore funcionalidades que não são nativas para que passem a fazer parte e você possa usá-las. Graças a essa extensibilidade, ele facilita a criação de arquiteturas flexíveis.

Há uma infinidade de frameworks disponíveis para agilizar o desenvolvimento, como Ruby On Rails para Ruby, CodeIgniter, CakePHP e Zend para PHP, o próprio ASP.NET, Spring, Tomcat, JBoss e Hibernate para JAVA, Django, Turbogears e web2py para Python, Foundantion 5 e Bootstrap para CSS.

Além disso, tem sempre uma comunidade de desenvolvedores dispostos a colaborarem entre si. Você vai encontrar muito material de qualidade na internet e não vai faltar ajuda a quem quiser saber como utilizar e fazer a melhor escolha, bem como desenvolver seus próprios frameworks para seus projetos.

Leia também