Veja qual a diferença entre Framework e Biblioteca

Está pergunta é muito comum as vezes é a causadora de discussões em círculos de desenvolvedores pois framework e bibliotecas podem ter significados diferentes para pessoas diferentes e em momentos diferentes. No entanto existe uma definição geral que tentarei descrever aqui com a finalidade de simplificar e esclarecer cada um.

Biblioteca

Uma biblioteca é uma coleção organizada de funcionalidade uteis. Um exemplo de biblioteca padrão poderá incluir funcionalidades para manipular string, datas, eventos, animações, etc… Cada uma destas funções retornará valores para a aplicação que a está invocando que então poderá ser manipulada de acordo com a necessidade.

Bibliotecas normalmente fornecem um nível mais alto de abstração que serve para facilitar implementações que sofrem inconsistências devido a variáveis externas. Por exemplo, uma chamada AJAX normalmente depende da API XMLHttpRequest mas a mesma precisa de várias linhas de código para lidar com as inconsistências entre os navegadores. Por isso uma biblioteca pode fornecer um método ajax() que lidará com essas mudanças, deixando você livre para se preocupar com a implementação da lógica de negócio.

Uma biblioteca pode reduzir o tempo de desenvolvimento de pois não a necessidade de se preocupar com detalhes. Por outro lado, um bug dentro da biblioteca pode se tornar difícil de descobrir e corrigir, não há garantias que os responsáveis pela biblioteca irão corrigi-lo em tempo hábil e uma atualização pode mudar a API de forma a causar mudanças em seu código.

Frameworks

Um framework é o esqueleto de uma aplicação que requer que você utilize um design de software especifico e insira sua própria lógica em certos momentos. As funcionalidades como eventos, armazenamento e ligação de dados são fornecidas prontas para o desenvolvedor.

Comparado com uma biblioteca, o nível de abstração é mais alto e somado as diversas funcionalidades prontas, o desenvolvimento dos primeiros 80% será incrivelmente rápido. Por outro lado, os 20% restantes podem ser mais difíceis que a primeira parte se eles saírem das limitações do framework, atualizações são muito difíceis de serem implementadas e ao mesmo tempo o código se torna obsoletos relativamente rápido.

Deixe um comentário