Crie uma simples App de meteorologia usando Node.js e a API OpenWeatherMap
Tem um tempinho livre e quer aprender a desenvolver rapidamente uma app? Então vamos a isso! A proposta que temos para hoje consiste no desenvolvimento de uma pequena app de meteorologia usando para isso Node.js e a API OpenWeatherMap.
A nossa aplicação terá apenas 16 linhas de código! Não acreditam? Então vamos a isso!
Como referido, para este tutorial vamos necessitar essencialmente de duas coisas:
- Node.js - É um interpretador de código JavaScript que funciona do lado do servidor. Esta plataforma permite aos programadores o desenvolvimento de aplicações em rede, em tempo real e de alta escalabilidade, de uma forma simples e rápida. O Node.js é baseado no interpretador V8 da Google
- OpenWeatherMap - É um serviço que permite consultar informações climáticas. Este serviço tem disponível uma API público que nos permite aceder à informação climatérica de uma determinada cidade. A API irá devolver informação sobre a temperatura mínima, máxima, humidade e outras variáveis.
Para criar então uma simples App de meteorologia usando Node.js e a API OpenWeatherMap devem seguir os seguintes passos:
Passo 1 - Criar conta no site OpenWeatherMap
Para começar acedemos ao site OpenWeatherMap aqui e criamos uma conta de acesso.
Em seguida selecionamos o separador API Keys e vamos criar uma chave. Para tal, basta inserir no campo Name um nome que ficará associado à chave que for gerada.
O resultado será idêntico ao apresentado na imagem seguinte.
Uma vez criada a chave de acesso à API, vamos ao desenvolvimento da app que vai invocar a API do site OpenWeatherMap.
Passo 2 - Desenvolvimento da app
Uma vez que vamos desenvolver em NodeJS, é necessário ter o interpretador instalado no nosso sistema. Podem ver os tutoriais de instalação para Windows, Linux e macOS.
Para começar vamos criar então um diretório com o nome nodejs-weather e iniciamos o nosso projeto com o comando npm init. O resultado será algo semelhante ao apresentado na seguinte imagem.
O próximo passo é criar o ficheiro index.js. Agora que temos as "peças" todas, vamos juntá-las de forma a obter o output que pretendemos.
Invocar a API OpenWeatherMap
Vamos agora invocar a API OpenWeatherMap. Para tal podemos usar o popular módulo npm request. Para instalar este módulo basta executar o comando:
npm install request --save |
Usar este módulo é relativamente simples. Para tal basta que o utilizador passe, como parâmetro, o URL e o modulo invoca o método na API e devolve o resultado.
Abram agora o ficheiro index.js e insiram o seguinte código:
let request = require('request'); let apiKey = '*****************************'; let cidade = 'Guarda'; let url = `http://api.openweathermap.org/data/2.5/weather?q=${cidade}&appid=${apiKey}&units=metric` request(url, function (err, response, body) { if(err){ console.log('error:', error); } else { console.log('body:', body); } }); |
Breves Explicações
- apiKey - Insiram a chave criada no OpenWeatherMap
- cidade - Insiram o nome da Cidade para a qual pretendem obter informação climatérica
- url: Invocação da API, onde passamos como parâmetros a cidade e a chave.
Depois de todos os passos anteriores realizados, vamos executar a aplicação e observar o resultado.
E está feito! Obviamente agora é necessário fazer um "parser" dos resultados. Esse tutorial será apresentado em breve! Caso tenham alguma dúvida ou questão relativamente a este tutorial, deixem as vossas questões em comentário.
Este artigo tem mais de um ano
Excelente
Muito obrigado! Acabei de conhecer o site e já vi muitas coisas que me serão úteis!
Seu tutorial foi excelente, direto e preciso.
Abraços do Brasil!
Obrigado Douglas. Fica ligado 🙂
“Crie uma simples App”
Traduzido: importe 2 bibliotecas para um servidor web e passe 99% do tempo a configurar o servidor.
Continuem assim, façam porcarias de apps web e nunca nada nativo, só me dão mais trabalho e rendimento 😀
Comentário de quem não percebe da coisa.
Depois de seguir o tutorial, dá sempre erro na api key :
“body: {“cod”:401, “message”: “Invalid API key. Please see http://openweathermap.org/faq#error401 for more info.”}”
Depois de contactar o suporte dizem :
Please, take a note that history API and daily forecast are not available for free accounts
🙁