Exercicio1_Reprograma

Tema:Frameworks e Bicliotecas


O que são os frameworks?


Pode-se dizer que um framework é uma base sólida e padronizada para a construção de uma aplicação. Um framework pode ser construído utilizando-se diversas bibliotecas e integrado a APIs de forma a oferecer uma estrutura ideal para o desenvolvimento de um aplicativo mobile, por exemplo.

Utilizando um framework, o desenvolvedor pode se concentrar em desenvolver as funcionalidades do seu app, sem se preocupar com tarefas repetitivas e até mesmo com a construção de componentes de tela, os quais já foram construídos previamente e já vem prontos para uso.

Geralmente, um framework já vem com classes e funções para tarefas comuns, como leitura de arquivos e conexão a banco de dados. Um exemplo de um framework mobile é o Ionic, com crescente utilização pelo mercado.

Apesar de distintos, esses conceitos se somam e são importantíssimos para a construção de softwares, websites, aplicativos e outras soluções em TI. Entendendo cada um e a diferença entre eles é possível ter mais autoridade e conhecimento na hora de contratar um fornecedor de TI.

Exemplos de Frameworks
✦ Java – Hibernate e Spring
✦ Ruby – Ruby on Rails
✦ JavaScript – AngularJS
✦ Python – Django
✦ PHP – Zend e Laravel
✦ C# – ASP .NET
✦ CSS – Bootstrap

E as bibliotecas, o que são as bibliotecas?


Vamos imaginar que precisamos calcular quantos dias existem entre duas datas utilizando JavaScript. Mas no momento não há uma funcionalidade da linguagem que faça este cálculo para nós. Então teremos que criar uma função em que a gente passe duas datas e ela nos retornará a quantidade de dias.

E depois pode aparecer a necessidade de pegar uma data e adicionar um certo número de dias. Que data teremos como resultado? E se precisarmos adicionar horas ou minutos?

A príncipio podem parecer funções sem conexão, mas note que estamos falando de cálculos que nos remetem a tempo. Com o intuito de deixar o código mais organizado, podemos juntar estas funções em uma “coleção” de funções relacionadas ao cálculo de tempo.

Em conclusão, podemos dizer que uma biblioteca é uma coleção de códigos voltados a resolver um determinado tipo de problema.

Exemplos de Bibliotecas JavaScript
✦ Moment.js - Biblioteca para converter, validar, manipular e exibir datas e horários
✦ Chart.js - Biblioteca para a criação de gráficos
✦ Voca - Biblioteca para trabalhar com Strings
✦ mo.js - Biblioteca para criar animações incríveis com SVG.
✦ React - Biblioteca para criar interfaces de usuário.

Mas então, qual a diferença entre Framework e biblioteca? 🙋


Antes de tudo, algo que podemos notar além das diferenças é que normalmente as bibliotecas são usadas pelos nossos códigos, enquanto os frameworks é quem costumam utilizar os nossos códigos.

Por isso podemos diferenciar React de Angular. Se acaso você já usou os dois verá as seguintes diferenças:

No React nós temos basicamente funções para a criação de componentes e criação de estados. Estamos no controle o tempo todo, nós chamamos as funções do React, podemos decidir qual será a estrutura da nossa aplicação e o fluxo com o qual ela funciona. Se acaso a gente precisar de funcionalidades de roteamento, animações, internacionalização, etc, precisaremos buscar bibliotecas para isso.


Em contrapartida no Angular todas essas funcionalidades já vêm inclusas. Há uma estrutura que devemos seguir (componentes, serviços, pipes, rotas, módulos), e o Angular é quem vai chamar o nosso código seguindo seu próprio fluxo. Essa característica de já ter uma estrutura é o principal diferencial entre um framework e uma biblioteca. Você pode notar que em nenhum momento nós chamamos alguma função como Angular.nomeFuncao(). Eventualmente, caso queira fazer algo num fluxo ou estrutura diferente, o Angular não vai entender e você terá um erro.

Já temos uma estrutura. É como se no framework nós precisássemos preencher os campos que ele pede, é ele quem está no controle de tudo.

duvidas_resolvidas