O QUE É UM FRAMEWORK E BIBLIOTECA? QUAL A DIFERENÇA ENTRE ELES?

Avisaremos você por e-mail sempre que postarmos algo que seja de seu interesse para te fazer ganhar dinheiro com programação.

Entre para nossa lista e receba conteúdos exclusivos e com prioridade!

100% livre de spam.

O que é um framework? O que é uma biblioteca? Qual a diferença entre framework e biblioteca? Quando usar um framework e quando usar uma biblioteca na hora de programar algum sistema? Neste vídeo você vai descobrir! Ah, e relaxa que eu tô ligado… são muitas perguntas e para quem está começando agora a programar – ou mesmo para quem já tem uma certa experiência em programação – a quantidade de termos é tão grande que é MUITO FÁCIL SE PERDER!

E algo que causa MUITAS dúvidas em programadores é saber qual a diferença entre um Framework e uma biblioteca na hora de programar algum sistema.

Antes de falar a diferença, a gente precisa definir muito bem o que é cada um desses conceitos.

O que é um framework?
FrameWork é uma receita de bolo. É… é isso mesmo… uma receitinha de bolo. Veja só: Pra fazer um bolo, a gente precisa de alguns ingredientes, como por exemplo: Trigo, Açúcar, Leite, Ovos, manteiga, fermento e uma pitada de sal (é, filhote, bolo leva sal também pra realçar o sabor do açúcar… sabia não? Veja que nosso bolo ainda não tem um sabor, pois não dissemos do que é o nosso bolo. Se quisermos transformar nosso bolo em um bolo de chocolate, a gente coloca achocolatado em nossa receita, certo?
Mas… e se a gente quiser fazer um bolo de laranja… será que a receita inteira precisa mudar?

É claro que não né filhote… a gente precisa só trocar o chocolate por suco de laranja e pronto!
Deu pra perceber que uma parte da estrutura do bolo é fixa e outra parte é mutável? Essa parte fixa é o que a gente chama de Framework… um padrão aplicável a um determinado cenário que pode receber incrementos (laranja, chocolate) para atender ao objetivo final.

Na programação é muito comum existirem diversos tipos de frameworks para diversos cenários: Framework PHP, FrameWork de Banco de Dados, Framework de JavaScript, Framework de Python… enfim, uma infinidade. A gente está tão acostumado com frameworks na programação que achamos que eles só existem no mundo dos códigos, quando na verdade, isso não é verdade.

Existem frameworks para cenários diversos… por exemplo, pode existir um framework para Gestão de Projetos; um framework para desenvolvimento de sistemas (o SCRUM é um ótimo exemplo disso); pode ter até framework para fazer um bolo, como literalmente eu disse aqui! Então a primeira coisa que eu quero que você enfie na cachola é que os frameworks NÃO ESTÃO limitados à programação, embora a maior parte que falemos este termo, estejamos de fato, nos referindo à área de desenvolvimento de sistemas.

O que NÃO É UM FRAMEWORK (na programação)?
Framework não é um programa. Não é um software, não é uma linguagem… framework não é uma IDE. Na programação, Framework (na programação) é um conjunto de códigos que vai te ajudar a desenvolver alguma coisa (sistema, aplicação, API, enfim), economizando MUITO tempo, pois ele já vem com uma estrutura pronta e você só aponta o que você quer de diferente. Simples assim! Ah, e já, já vou te mostrar um exemplo prático de um framework pra você ver como eles facilitam nossa vida, beleza?

E como funciona um Framework?
É simples. Considerando que ele é nossa receitinha de bolo padrão, a gente baixa o Framework do site oficial, lê a documentação e usa. Ué, é só isso? É, filhote, é só isso! Só é importante que você leia bem a documentação do framework para dominar todos os detalhes técnicos dele.

Devo usar um framework?
É claro! Programar na unha é bom… mas leva tempo. Entenda: Se você é programador, você é o cara que vai prover soluções… soluções rápidas, eficientes, escaláveis. Por qual motivo você iria reinventar a roda se pode simplesmente usar a ideia que já existe?

Frameworks de programação servem para fazer o programador FOCAR naquilo que realmente compete a ele, que é desenvolver a lógica das regras de negócio do cliente.
Pensa aí… imagine se em um sistema de cadastro você precisasse sempre verificar: se os campos foram corretamente preenchidos; se não existem campos vazios; se o valor digitado no campo e-mail realmente é um e-mail; se o telefone inserido tem a quantidade numérica adequada; se o usuário digitou nome e sobrenome… enfim… essas verificações não devem tomar tempo do programador… o programador tem que agilizar processos… o programador precisa USAR os dados do usuário cadastrado para fazer o sistema funcionar, ou seja, não pode ficar se preocupando com detalhezinhos que, embora importantes, tomem seu tempo. É a mesma coisa de ver dois violinistas discutindo qual a próxima música irão tocar, enquanto o Titanic está afundando

Percebe só? O foco do programador é resolver os problemas das regras de negócio do cliente e não pode perder tempo com probleminhas triviais. Logo, um framework faria todo esse processo, aliviando a carga de trabalho do programador.

Mas beleza… agora que você já entendeu os benefícios de um framework, já dá pra gente falar sobre bibliotecas.


A lógica é a mesma. As bibliotecas na programação nos ajudam a escrever MENOS código, pois já vêm com estruturas prontas para vários recursos que a gente precisa. Existem bibliotecas de várias linguagens que fazer funções diversas. O que difere uma biblioteca de um Framework é que o framework é usado de maneira genérica, enquanto a biblioteca é usada para um propósito específico.

Quer um exemplo:
O Bootstrap, serve para fazer sites. Qual site? Qualquer site. Serve pra loja virtual? Sim, é pra qualquer site.

Já as bibliotecas, fazem tarefas específicas, por exemplo se utilizarmos uma biblioteca para conectar um sistema Web com um Banco de Dados MySQL… qual a tarefa desta biblioteca? Conectar um sistema Web a um Banco de Dados MySQL. Certo… e será que dá pra conectar a um Banco de Dados Oracle? Não, é pra Bancos MySQL. Certo… e essa biblioteca consegue conectar o site a um aplicativo? NÃO! A função dela não é essa! A função dela é conectar um sistema web a um banco MYSQL. Saca a diferença? A biblioteca é específica. O Framework é abrangente.

QUAIS FRAMEWORKS QUE EU RECOMENDO?

Vamos lá, pega a listinha aí!

  • FRAMEWORK CSS: Bootstrap
  • FRAMEWORKS JAVASCRIPT: React, Angular, Vue
  • FRAMEWORKS PHP: Codeigniter (se você estiver começando com PHP), Laravel, Symfony, Zend (este último é o mais difícil, mas também, o mais completo).
  • FRAMEWORKS PYTHON: Django, Flesk, Falcon; Se o seu interesse é em Ciência de Dados, recomendo utilizar o pandas e Numpy, Matplotlib (esse último tem um apelo visual muito legal para exibição de gráficos)
  • FRAMEWORKS MOBILE: React Native, Flutter. Com esses dois frameworks você diminui muito o tempo de criação de aplicativos Móveis. Compensa dar uma olhadinha!
  • FRAMEWORKS PARA JAVA: Srpings, Hibernate, Spark, JSF.


É claro que aqui eu estou listando alguns frameworks que eu já trabalhei. Você deve escolher um framework que você se identifique e se sinta confortável. Um framework modifica muito de um para outro. Minha recomendação é que você sempre comece cum um framework com baixa curva de aprendizado… e aí depois você migra pra frameworks mais pesados e completos. Entenda que o nível de complexidade de um framework, geralmente, está atrelado a um alto nível de completude. Quanto mais complexo, a tendência é que ele tenha mais recursos, mais funções e mais bibliotecas internas também, facilitando AINDA MAIS o seu trabalho como programador.

Assista a este conteúdo no Youtube: O QUE É UM FRAMEWORK E BIBLIOTECA? QUAL A DIFERENÇA ENTRE ELES?

Oportunidades de TI direto no seu e-mail

100% livre de spam.

Assuntos relacionados:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Avisaremos você por e-mail sempre que postarmos algo que seja de seu interesse para te fazer ganhar dinheiro com programação.

Entre para nossa lista e receba conteúdos exclusivos e com prioridade!

100% livre de spam.