Ir ao conteúdo

Posts recomendados

Postado

É possível consumir API usando C? Quero fazer um projeto (justamente para ter dúvidas e aprender) envolvendo a API do imbd mas n achei nada relacionado a C e API`s. Vi um tutorial sobre clima tempo com php+docker, porém não consegui assimilar e trazer pra C. Estava também pensando em fazer uma interface básica que existam botões e uma imagens para posters para que o usuário não precise escrever. como se fosse html,css e php/js mas no caso com C no back, será que o ideal seja mudar minha linguagem pra esse projeto?
Eu prefiro que seja um app do que um site, mas n sei como posso fazer esta interface sem o html e css.

Postado

@LucasrodriguesP Em geral não vai usar diretamente HTML ou CSS para consumir API. Entenda que WEB API é um modesto conjunto do que é uma API. API é uma interface. No caso da WEB essas API no geral trafegam apenas TEXTO sem formatação, em geral em JSON, XML, SOAP ou o velho conhecido CSV para grandes massas de dados extráidas de coisas como o tweeter.

 

Não há nada de especial em usar C ou C++ para isso. Todos os navegadores foram inicialmente escritos em C por exemplo. O problema é perder o ecossistema que já vem pronto com .net ou os frameworks web. Coisas como AXIOS e httprequest.

 

Há alternativas, claro. Em C++ pode usar Qt e ter um ambiente legal por exemplo. 

  • Obrigado 1
Postado

@arfneto Acredito que formulei errado minha intenção, sei que o HTML e CSS não usam a API diretamente, eu usaria eles para possibilitarem a estilização, botões, imagens e etc.
 

3 horas atrás, arfneto disse:

essas API no geral trafegam apenas TEXTO sem formatação, em geral em JSON, XML, SOAP

Esse é meu intuito, o IMDB é um banco de dados que fornece o titulo, poster, avaliação, sinopse e etc sobre filmes/séries/animes. Então o usuário (Eu) selecionaria que tipo de obra (filmes/séries/animes) e em seguida o/os gêneros (ação, drama, aventura,...), após isso apareceriam diversos resultados para o usuário ver e decidir uma obra pra ver.
 Entretanto não achei nenhuma referência que me norteie sobre uso de APIs com C nesse estilo e muito menos INTERFACES, você comentou do C++, aparentemente é melhor escolher outra linguagem?

  • Curtir 1
Postado
1 hora atrás, LucasrodriguesP disse:

Entretanto não achei nenhuma referência que me norteie sobre uso de APIs com C nesse estilo e muito menos INTERFACES, você comentou do C++

 

Que são INTERFACES?

 

API é um termo genérico e boa parte das API estão disponíveis em C e/ou foram escritas em C.

 

Se quer consumir dados de uma API web --- um subconjunto --- como a API do IMDB como eu disse é melhor se valer do que já existe nos frameworks web, coisas como javaFX /java, React/javascript, .net/C#, Django/Python, Qt/C++ ou mesmo libcurl/C

 

Como eu disse, é apenas texto.

 

1 hora atrás, LucasrodriguesP disse:

Esse é meu intuito, o IMDB é um banco de dados que fornece o titulo, poster, avaliação, sinopse e etc sobre filmes/séries/animes. Então o usuário (Eu) selecionaria que tipo de obra (filmes/séries/animes) e em seguida o/os gêneros (ação, drama, aventura,...), após isso apareceriam diversos resultados para o usuário ver e decidir uma obra pra ver

 

Acho que sabe que o site do IMDB faz tudo isso muito bem. Precisa ter um bom plano para fazer mais do que o serviço faz de graça.  E note que se você tem conta no serviço pode ter coisas ainda mais personalizadas e replicar isso dentro da API é um trabalho do inferno.

 

O uso da API é mais para coisas simples como agregar o score do IMDB ou o poster num site.

  • Curtir 1
Postado
7 horas atrás, arfneto disse:

Se quer consumir dados de uma API web --- um subconjunto --- como a API do IMDB como eu disse é melhor se valer do que já existe nos frameworks web, coisas como javaFX /java, React/javascript, .net/C#, Django/Python, Qt/C++ ou mesmo libcurl/C

 

Entendi, eu estava muito preso no conceito de API web e me esqueci do resto. Aproveitarei os frameworks web como você disse, creio que faz mais sentido agora.

 

9 horas atrás, arfneto disse:

Acho que sabe que o site do IMDB faz tudo isso muito bem. Precisa ter um bom plano para fazer mais do que o serviço faz de graça.  E note que se você tem conta no serviço pode ter coisas ainda mais personalizadas e replicar isso dentro da API é um trabalho do inferno.

Sobre essa parte, eu concordo com você que não é nada novo, mas é só um projetinho pessoal para colocar em prática

OBS: olha só que legal lá no fim do site -> https://imdb-api.com/api/#Search-header

  • Curtir 1
Postado

Fosse eu, usaria a lib curl, tem até exemplo de como acessar API por ela em C puro. Pesquisa ai no google, tem bastante exemplos em C (muitos em inglês).

Postado
2 horas atrás, cpusam disse:

Fosse eu, usaria a lib curl, tem até exemplo de como acessar API por ela em C puro. Pesquisa ai no google, tem bastante exemplos em C (muitos em inglês).

Nesse caso meu programa seria apenas texto no cmd e se eu quisesse que fosse interativo como uma página mesmo teria que usar o Qt que o arfneto comentou?

  • Curtir 1
Postado
2 horas atrás, LucasrodriguesP disse:

Nesse caso meu programa seria apenas texto no cmd e se eu quisesse que fosse interativo como uma página mesmo teria que usar o Qt que o arfneto comentou?

Se vai programar em C o simples é usar GTK+ para os controles e libcurl para o tráfego. Em C++ usaria Qt. 

É tudo parecido. C++ é muito mais expressiva que C.

Mas se usar algo como C# e .net tem os designers, assim como em C++ Builder. Designers são aqueles programas em que você desenha a tela com os controles e o programa de certo modo gera o código, como no Visual Basic ou no Delphi.

  • Curtir 1
Postado
Em 17/08/2022 às 13:50, LucasrodriguesP disse:

Nesse caso meu programa seria apenas texto no cmd e se eu quisesse que fosse interativo como uma página mesmo teria que usar o Qt que o arfneto comentou?

O @arfnetorespondeu ai. Como você está falando em C, GTK+ é uma opção multiplataforma. No GTK tem também uma interface pra acessar API web, não lembro agora e não estou bem certo se existe nele porque faz tempo que vi. De qualquer forma GTK com curl dá pra você fazer tudo que quer fazer e mais um pouco, e ainda vai poder compilar em diversos sistemas, não apenas em Windows.

  • 4 semanas depois...
Postado

Estou progredindo e consegui fazer a conexão (deixei a interface pra lá), mas no momento tenho recebido alguns erros como "ssl peer certificate or ssh remote key was not ok" e "resquest failed Couldn't resolve host name". O correto seria eu fazer o post sobre minhas duvidas nesse mesmo tópico ou abrir um novo?

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...