Diferença Biblioteca x Framework x API

3 respostas
java
D

Bom galera, estou meio confuso sobre o que é Biblioteca x Api x framework. Procurei algumas definições mais não consegui absorver alguem teria como me explicar em poucas palavras só pra me ter melhor entendimento.?

3 Respostas

R

Por incrível que pareça essa é uma pergunta difícil de responder, porque esses termos muitas fazes são usados pra definir a mesma coisa dependendo do contexto.

Biblioteca = API = Framework

A única diferenciação que eu faria, talvez a respeito do fato da API pode ser um subconjunto de Biblioteca e Framework. Um único Framework/Biblioteca, pode ser constituído de várias APIs. Pensem em API como um sub-vocabulario.

Nós temos o idioma Portugues. Dentro do portugues, existem vocabulários específicos, como por exemplo vocabulário jurídico. Mesmo você sendo um falante nativo de portugues, você pode muito bem ler um documento jurídico e não entender porra nenhuma. Porque você não domina esse vocabulário, mesmo ele sendo em portugues. Pra mim isso seria a analogia mais próxima do que é uma API.

I

Realmente é difícil responder essa pergunta… mas definiria como:

Biblioteca: é artefato, é o próprio arquivo, pode ter várias coisas dentro, é “físico”. Não da pra falar exatamente o que ela faz, qual o propósito dela de uma maneira geral.

API e Framework são mais conceituais:

API: Mais relacionado a abstração de certas funcionalidades, para uso externo por outros sistemas. Ex: API do Google Maps. Por essa API, ela é a única forma de entrada ao código do google maps, é ela que devo usar para acessar os recursos do google maps programaticamente

Framework: É um conjunto de funcionalidades, normalmente separados em módulos, ou camadas. É mais utilizado para uso interno do desenvolvimento de um sistema. É uma ferramenta criada com o intuito de facilitar algo

Grosseiramente definindo :slightly_smiling:

L

Framework: Conjunto de boas práticas para agilizar o desenvolvimento de algo.
Ex.: Criar uma aplicação somente usando servlet + jsp. Ao invés disso, pode-se usar um framework que faça a mesma coisa, porém de uma forma bem mais simples (struts, JSF, vraptor, etc).

API: É um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços. FONTE WIKI
Ex.: Ao criar um plugin para o firefox, você talvez precise interagir com alguns recursos do mesmo, o acesso à esses recursos será feita através de uma API fornecida pela Mozilla.

Biblioteca: Creio que seja bem parecido com API, porém funcionando de uma forma standalone.
Ex.: Criar um aplicativo que utilize alguma biblioteca de manipulação de janelas do sistema operacional.

Como o rodrigo.uchoa disse, pergunta meio difícil de responder.

Complementos e correções são muito bem vindos! Abraços.

Criado 2 de março de 2016
Ultima resposta 3 de mar. de 2016
Respostas 3
Participantes 4