Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, procurei diversos tópicos que abordam esse tipo de assunto na internet, porém existem várias definições que parecem diferenciar uma das outras. Gostaria que alguém explicasse esse tema com dois tipos de explicação. Primeiro explicando de forma técnica, depois explicando a grosso modo da maior forma possível.
Você achou várias definições porque de fato existem várias definições :( .
A questão que o Beraldo citou é a inversão de controle (inversion of control), mas mesmo isso não é uma unanimidade, enfim, infelizmente você não terá uma resposta, é provável que tudo que possa ser escrito aqui você inclusive já tenha lido.
Eu gosto mais da definição de que as bibliotecas, em sua maioria,são um conjunto de ferramentas para resolver um problema. No mundo web, a biblioteca mais famosa é a jQuery, que resolve o problema cross-browser e facilita a construção de aplicações client-side.
No PHP, eu utilizo poucas, mas das que utilizo são TCPDF e PagSeguro.
Já um framework, é um conjunto de ferramentas para facilitar o trabalho, que, em sua maioria, é composto por inúmeras bibliotecas. E, falando no caso do PHP, possuem como maior foco a abstração request/response HTML.
Obrigado a todos que responderam
Uma vez ouvi uma descrição interessante:
Bibliotecas são chamadas pela sua aplicação
Frameworks chamam a sua aplicação
Aqui tem uma discussão interessante sobre isso:
http://stackoverflow.com/questions/148747/what-is-the-difference-between-a-framework-and-a-library
Aqui tem mais
https://pt.wikipedia.org/wiki/Framework
https://en.wikipedia.org/wiki/Library