O que são Bibliotecas, APIs e Frameworks?

Já pesquisei sobre, li alguns artigos vi alguns vídeos e até hoje não consigo explicar o que ao certo é cada um desses recursos, gostaria de saber se alguém consegue me explicar de uma maneira fácil de se compreender. Obrigado e boa noite.

RESUMIDAMENTE::::

Vamos supor que estamos falando do facebook e usando Java

API (Vc vai chamar uma URL e ela vai te retornar alguns dados, é mais complexo que isso, porém, to tentando resumir):

//isso é um GET em uma 'url' que vai retornar um json pra a gente
String run() throws IOException {
  Request request = new Request.Builder()
      .url("https://url_da_requisicao/facebook/get-users/")
      .build();

  try (Response response = client.newCall(request).execute()) {
    return response.body().string();
  }
}

Biblioteca (Vc vai usar a biblioteca pronta, sem precisa fazer requisições que fizemos acima, não vai ter a preocupação de ficar fazendo GET, PUT, POST ou DELETE):

 Facebook fb = new Facebook();
 System.out.println(fb.getUsers());

Framework

Hibernate e Spring
1 curtida