Fundamentos de Tecnologia

Qual é a diferença de API, biblioteca e framework?

API (Application Programming Interface – Interface de Programação de Aplicativos) é como um conjunto de regras e instruções que permite a comunicação e interação entre diferentes aplicativos de software. Ela define a maneira pela qual um aplicativo pode solicitar informações ou serviços de outro aplicativo, sem precisar conhecer detalhes internos do funcionamento desse outro aplicativo.

Para entender melhor, imagine uma API como uma espécie de ponte que conecta dois aplicativos diferentes. Quando um aplicativo deseja acessar dados ou funcionalidades de outro, ele envia uma solicitação à API desse aplicativo. A API, por sua vez, entende essa solicitação, processa-a e retorna a resposta adequada ao aplicativo solicitante.

Um exemplo prático é o MercadoLivre, que oferece sua API para que outros desenvolvedores possam integrar informações sobre seus produtos em seus próprios sites ou aplicativos. Dessa forma, esses sites podem exibir detalhes atualizados sobre os produtos do MercadoLivre, como preços e disponibilidade, e até mesmo permitir que os usuários comprem diretamente por meio da integração com a API do MercadoLivre.

Outro exemplo é quando você compra ingressos de cinema online. O site de ingressos utiliza uma API para enviar os dados do seu cartão de crédito a um aplicativo externo que verifica e processa o pagamento. Após a confirmação do pagamento, o aplicativo externo envia uma resposta de volta ao site de ingressos, autorizando a emissão dos ingressos comprados.

As APIs são fundamentais para o funcionamento de muitos serviços online, pois permitem a interação entre diferentes sistemas de forma padronizada e segura. Elas facilitam a integração entre aplicativos e possibilitam a criação de soluções mais abrangentes e poderosas por meio da combinação de funcionalidades de diferentes fontes.

Bibliotecas de APIs

Uma biblioteca de APIs é como uma caixa de ferramentas com várias ferramentas diferentes. Cada ferramenta é uma pequena parte de um programa que já está pronta para ser usada. Essas ferramentas podem fazer coisas como calcular números, organizar informações ou até mesmo mostrar imagens. Os desenvolvedores podem usar essas ferramentas em seus próprios programas para economizar tempo e não precisar começar tudo do zero. É como se eles pudessem pegar essas “ferramentas” da caixa e usá-las para construir algo novo, como uma casa, sem precisar criar todas as ferramentas desde o início. Isso torna o processo de construção muito mais fácil e rápido!

Frameworks

Já um framework é uma estrutura ou arcabouço que fornece uma base para o desenvolvimento de aplicativos. Ele inclui uma série de regras, convenções e ferramentas que guiam os desenvolvedores na criação de um tipo específico de aplicativo. Diferentemente das bibliotecas, o framework define a arquitetura geral do aplicativo, incluindo o fluxo de trabalho e a organização do código. Em vez de escolher ferramentas individuais, os desenvolvedores constroem o aplicativo dentro da estrutura fornecida pelo framework.

Em resumo, a principal diferença é que as bibliotecas oferecem ferramentas prontas para uso, enquanto os frameworks fornecem uma estrutura completa para o desenvolvimento de aplicativos. As bibliotecas são como peças que você escolhe para construir algo específico, enquanto os frameworks são como manuais que te guiam na construção de algo mais complexo e abrangente.

Vamos praticar utilizando o Visual Studio Code!!

Vou te dar uma ideia de projeto em JavaScript usando Node.js bem simples para entender como seu programa chama uma API externa (do outro lado da ponte). Vamos criar um “Bot de Piadas” que, quando executado, irá fornecer uma piada aleatória sempre que for solicitado.

Para isso, vamos precisar do pacote request para fazer uma solicitação HTTP a uma API de piadas e também do pacote readline para permitir que o usuário faça uma pergunta para receber a piada. Verifique se você tem o Node.js instalado em seu computador antes de começar.

Aqui está um passo a passo simples para criar o Bot de Piadas:

Passo 1: Configurar o projeto Crie um novo diretório para o projeto e abra o “File Open Folder” seu novo diretório. Cópie o código do Bot de Piadas Crie um arquivo chamado botPiadas.js e adicione o seguinte código no arquivo:

const request = require('request');
const readline = require('readline');

const apiUrl = 'https://official-joke-api.appspot.com/random_joke';

// Configurando o leitor de linha
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

// Função para obter uma piada aleatória da API
function getJoke(callback) {
  request(apiUrl, (error, response, body) => {
    if (!error && response.statusCode === 200) {
      const joke = JSON.parse(body);
      callback(joke.setup, joke.punchline);
    } else {
      callback('Desculpe, não consegui encontrar uma piada no momento.');
    }
  });
}

// Função para exibir a piada
function tellJoke(setup, punchline) {
  console.log('P: ' + setup);
  setTimeout(() => {
    console.log('R: ' + punchline);
    rl.question('\nDeseja ouvir outra piada? (Digite "sim" ou "não"): ', (answer) => {
      if (answer.toLowerCase() === 'sim') {
        getJoke(tellJoke);
      } else {
        console.log('Obrigado por usar o Bot de Piadas. Até a próxima!');
        rl.close();
      }
    });
  }, 1500);
}

// Iniciando o bot
console.log('Bem-vindo ao Bot de Piadas! Vou contar uma piada para você.');
getJoke(tellJoke);

Passo 2: Abrir o terminal do Visual Studio Code e execute o Bot de Piadas com o comando do Bot.

OPS!!! Deu erro, não é? Faltou apenas construir a ponte, ou seja, conectar seu programa instalando a biblioteca necessária para que ele possa interagir com a API corretamente.

Continue com os próximos passos.

Passo 3: Instalar os pacotes necessários Instale os pacotes request e readline usando o seguinte comando no terminal:

Passo 4: Executar o Bot de Piadas Para testar o bot, execute o seguinte comando no terminal dentro do diretório do projeto:

O bot irá apresentar uma piada e perguntar se você quer ouvir outra. Digite “sim” ou “não” conforme desejado.

Esse projeto simples pode ajudar um aprendiz a entender conceitos básicos de Node.js, requisições HTTP, manipulação de JSON e interação com o usuário por meio do terminal. Ele também pode ser expandido e aprimorado à medida que o aprendiz adquire mais conhecimento em JavaScript e Node.js.

Espero que você goste do projeto e divirta-se criando seu próprio Bot de Piadas!

Parabéns por concluir a aula programador(a)!