O que é um Framework?

Você que está começando na área de programação já se perguntou o que seria framework?

Imagem com varios logos de frameworks diferentes

Você que está começando na área de programação já se perguntou o que seria framework? Para que eu vou usar este troço? Está pergunta é muito comum e irei te dar uma breve explicação sobre o que é isso.

O que é?

Os frameworks são usados para o desenvolvimento de algum software, ele pode ser web, mobile e até desktop. Existem várias definições para framework, se você digitar no Google você irá encontrar que framework

“É uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica” Wikipedia

“É um template com diversas funções que podem ser usadas pelo desenvolvedor Com ele, é desnecessário gastar tempo para reproduzir a mesma função em diferentes projetos” gaea

“Conjunto de técnicas, ferramentas ou conceitos pré-definidos usados para resolver um problema de um projeto ou domínio específico” dinamicatreinamentos

Se você prestar atenção na palavra frame ou jogar ela no famoso Google Translate irá notar que ela significa ( Armação || Quadro ) e work significa trabalho, então framework é um trabalho em uma armação dizendo em forma literal, algum local com limites para você trabalhar, igual aos limites de uma armação, algo pré estabelecido para ser usado no seu projeto.

De maneira geral o objetivo de um framework é resolver um problema recorrente de maneira mais genérica, não fazendo com que este esforço seja passado para o desenvolvedor da aplicação, fazendo com que ele foque principalmente na construção da estrutura principal.

Pontos Positivos

Trabalhar em equipe

Um dos pontos positivos é trabalhar em equipe, ao a equipe adotar um *framework *no projeto consequentemente padroniza o código base, os membros da equipe já sabem o que uma determinada função pode fazer, caso eles usem este *framework, *com isso pode ser posto nos requisitos para entrar em uma empresa que você saiba um determinado framework.

Economia de tempo

O *framework *também te auxilia no tempo, como algumas funções já vem prontas, só basta pôr o nome delas e fazer alguns ajustes, com isso facilitando a curva de aprendizado e diminuindo ela, além de possuir uma enorme quantidade documentação para te auxiliar na aprendizagem na maioria dos frameworks mais famosos.

Então é só eu estudo o framework e que eu viro sênior em uma tecnologia?

Não, isso é totalmente desaconselhado a fazer, o framework só te acode, ele é uma ferramenta, te ajuda, mas você tem que saber o que faz o código que está naquele framework, a tecnologia que está por traz daquilo, sem isso você não consegue editar algo, ou talvez por uma nova funcionalidade e nem refazer aquilo do zero caso precise, antes de você aprender o framework é aconselhado você aprender a tecnologia base primeiro.

Framework vs Biblioteca

Muitas pessoas se confundem framework *com biblioteca (library)* e vice-versa, isso é realmente normal porque eles têm um proposito parecido, eles possuem um conjunto de código para facilitar a sua vida no desenvolvimento, mas então? Cadê a diferença?

Framework

No *framework *quando você inicia um projeto com ele não é possível retirá-lo no meio do projeto, porque ele é quem faz a estrutura principal, você irá escrever o seu código baseado em como é o framework, por exemplo o Bootstrap que irei citar abaixo, ele traz classe prontas, com nomes pré setados, então se eu pôr o nome de uma classe em algum local e depois retirar o framework, a aplicação quebra, porque a base dela está no framework, o código que aquela classe estava usando deixará de existir.

Biblioteca

Já na biblioteca caso você pense em retirar no meio do projeto você consegue, apenas refatorando seu código para tirar os locais onde você utilizou ela.

Exemplos de Framework

Bootstrap

Ele é um *framework *muito conhecido para desenvolvimento web** front-end**, ele é usado porque o desenvolvedor não precisa ficar digitando centenas de linhas em CSS repetidas vezes, o *framework *já traz classes em CSS prontas para o nosso código em HTML e vários plugins em Java Script para realizar diversos recursos de maneira mais simplificada com o código reduzido, como por exemplo dropdowns e carrosséis facilitando o desenvolvimento e economizando tempo.

Materialize

Ele tem a mesma proposta que o Bootstrap, tornando ele um possível adversário para o concorrente, mesmo com o Bootstrap tendo uma popularidade maior segundo ao Google Trends , isso não significa que o materialize é pior, somente que as pessoas conhecem mais o Bootstrap.

Rails

Rails é um framework escrito na linguagem de programação Ruby voltado para o desenvolvimento **back-end **da aplicação lançado em 2004, você muito provavelmente já usou aplicações que usa Rails como por exemplo GitHub, Airbnb, Twitch, SoundCloud e várias outras.

Comentários