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.?
Diferença Biblioteca x Framework x API
3 Respostas
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.
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 
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.