Melhor linguagem para produção de API's

Levando em conta:

  • Velocidade de processamento;
  • Curva de aprendizado;
  • Documentação;
  • Etc…

Qual a melhor linguagem para produção de API’s, e porque?

Vai produzir uma API ou é uma pergunta por mera curiosidade?

Documentação independe da linguagem. Depende mais da sua capacidade e vontade de escrevê-la.

Curva de aprendizado varia de linguagem para linguagem. Maioria das linguagens modernas (C#, Java, Javascript) não são tão complexas de aprender.

Velocidade de processamento nem sempre é o melhor critério, pois pode implicar em mais complexidade. Pense numa AI em Assembly: provavelmente muito rápida, mas também bem complicada de manter.

Abraço.

Tipo, estou construindo uma API, estou utilizando PHP, pelo fato de já ter conhecimento do Laravel tbm que estou utilizando.

O que queria saber é tipo, prós e contras, se alguém já teve algum problema com alguma linguagem.

Tipo a fiz em tal linguagem mas dai saiu uma atualização e ferro com tudo, ou sei lá fui fazer em outra mas deu incompatibilidade com determinada biblioteca da outra linguagem.

Ou sei lá tipo sei que em Python tem um framework que diz que é bem fácil pra fazer APIs com ele.

E por ai vai, mais saber da experiencia do pessoal com a construção de APIs mesmo.

A melhor é a que você sabe e que atende seu cenário. Sem um contexto real fica difícil determinar o que pode ser melhor. Pro meu cenário no mercado é C#, para outros Java. Em projetos independentes iria de Golang. Atualizacoes tem em todas, algo pode ser depreciado. Enfim, qual teu objetivo real com isso?

Mais uma troca de experiências mesmo.

Eu no momento estou fazendo uma API pra um app em React-native e estou utilizando PHP/Laravel, mas quase mudei para Node quando encontrei https://node-postgres.com/ pois o banco que terei de utilizar é Postgresql.

Ai me surgiu a dúvida, mais deixar um tópico ai apontando experiencias e buscando o melhor para cada caso

Não conheço esse Laravel, mas na wikipedia diz que é usado para sistemas que utilizam o padrão MVC? Mas esta usando para criar uma API?

Não faz sentido usar um framework para aplicação MVC se quer criar uma API.

1 curtida

Eu no caso sou apaixonado por java, já fui extremista e pensava “não, não troco java por nada!”. Porém com o decorrer tô tempo e do envolvimento com outras linguagens, aprendi que cabe de cada projeto, não existe linguagem perfeita, todas tem suas características, boas ou ruins, vai do projeto, da expertise da equipe.

Laravel entre outras funcionalidades serve para sistemas com padrão MVC.

Com Laravel >= 5.3 vc consegue com apenas 3 linhas de código construir todo o reteamento necessárias para uma comunicação REST, e com a mesma facilidade gerar a autenticação através do Passport, og é um dos mais recomendados pra quem precisa de um serviço de qualidade no menor tempo possível.

Mas é um canhão pra matar mosquito. Onde por exemplo você vai usar o V do MVC numa api?

Se é tao fã assim de laravel, uma opcao mais leve seria esse Lumen https://lumen.laravel.com/

1 curtida

A questão é q neste já implemento todos os models, os testes e também uma aplicação para controle do fluxo de dados.

E quanto a canhão, muitos tem essa ideia de o framework tem um monte de funções e vc vai estar usando só 10% disso!
E é ai que pergunto, qual o problema disso?

Estas funções extras não irão ficar pesando no processamento, não irão ficar comendo banda, nada disso! Simplesmente estarão ali, inertes, lhe fornecendo uma fácil escalabilidade do seu sistema.

Você pode escolher o que julgar melhor. Minha resposta é referente ao próprio tópico que você criou, do que seria mais adequado para produção de API’s. E nem quero recomendar nenhum tipo de Laravel, só exemplifiquei Lumen como parâmetro mais próximo.

Mas a questão é justamente esta que quero saber, mas o porque de vc achar que Lumen seria mais adequado, e não que vc simplesmente acha este mais adequado.

Por ser mais otimizado para o que você postou no fórum. Não que eu recomende Lumen, foi só um exemplo mais próximo do que você usa sem as entranhas do MVC, frameworks PHP vem e vão.

Mas isso é tudo que vc precisa pra criar uma API REST?

Como falei, não conheço o Lavarel. Sei que no caso de APIs, é comum usar alguma espécie de toolkit HTTP na camada da aplicação. Mas se você conseguir implementar negociação de conteúdo, caching, validação, autenticação, etc. sem precisar desse toolkit, e sem lutar com o Lavarel, então ok. :slight_smile:

O problema não é o que o canhão já tem e que você sabe que pode ignorar, mas aquilo que ele não tem, e você não sabe que precisa, porque nunca usou pra matar um mosquito antes.

Amigo, não julgo ser a melhor opção, mas geralmente em minhas API’s utilizo Java juntamente com os recursos Spring (Spring Data e Rest).

Caso queira conhecer melhor sobre leia este artigo http://www.baeldung.com/building-a-restful-web-service-with-spring-and-java-based-configuration.

Agora, repense sobre utilizar MVC em uma API pois como nosso amigo citou você não tem a necessidade de camada View em uma API Rest.

Lembre-se de utilizar formas de retorno mais leves e que apenas retornem os dados necessários.

1 curtida

Pelo que entendi, ele não esta utilizando MVC, apenas o framework web que segue o padrão MVC na hora de estruturar o projeto. Neste caso é só ele ignorar a pasta view criada, e qualquer outra facilidade que o framework oferece voltado a essa camada.

1 curtida

Nativamente não, mas consegui com grande facilidade utilizando o JWTAuth