DEV Community

Cover image for A Guide to the Most Popular Types of APIs: REST, SOAP, GraphQL, and gRPC

A Guide to the Most Popular Types of APIs: REST, SOAP, GraphQL, and gRPC

Pragati Verma on November 26, 2022

APIs are the most important component of the modern-day software development process, helping applications and services communicate and transfer cr...
Collapse
 
miguelsmuller profile image
Miguel Müller

I'm writing an academic paper on gRPC. The technology offers numerous other benefits as it is linked to other cutting-edge technologies. Soon I will publish this paper.

Collapse
 
ashik155 profile image
Ashik Patel

That is great to hear. Good luck mate.

Collapse
 
vishnumeera profile image
VishnuSankar

could you share to read once you done, like if thats possible

Collapse
 
lizhang19817 profile image
Li Zhang

Cool!

Collapse
 
ankit9761 profile image
Ankit Kanyal

great article had a good read reading it

Collapse
 
richardtorres314 profile image
Richard Torres

Fantastic read! Very well stated. Thanks for this gem!

Collapse
 
pragativerma18 profile image
Pragati Verma

Thank you so much Richard. I am glad that you liked it! 😁

Collapse
 
mcwolfmm profile image
mcwolfmm

Another article comparing protocols with architecture, apples with pears...
it is not clear if you are distinguishing between REST and RESTful (REST over HTTP).

And one small clarification. although rest is a stateless architecture, in combination with http (also stateless by definition) http sessions can be used in restful.

Collapse
 
liyasthomas profile image
Liyas Thomas

This is very informative. Learned a lot about RESTful APIs.

If anyone like to spin up any of such APIs, RESTful, GraphQL, Realtime APIs online - checkout Hoppscotch.io - helps to make requests directly from the browser.

GitHub logo hoppscotch / hoppscotch

👽 Open source API development ecosystem - https://hoppscotch.io

Collapse
 
kvetoslavnovak profile image
kvetoslavnovak • Edited

Recently in my last project I needed to use SPARQL besides REST and webservices/ SOAP.
SPARQL seems very flexible. A learning curve was pretty high for me though.

Collapse
 
radandevist profile image
Andrianarisoa Daniel

I remember, a few years ago searching about SOAP and how to implement it, but barely found any resources. I just gave up and turned into other formats. I don't think it's a thing now in 2022.

Collapse
 
nicolus profile image
Nicolas Bailly • Edited

It's very much still a thing.

If you book a flight or a hotel there's a good chance it will be transmitted using SOAP as it's still the primary API used by Sabre.

If you use your company's Active Directory account to connect to third party services, there's also a good chance it uses SAML which is built on top of SOAP.

Apparently it's also used a lot in the banking field.

So yeah, noone in their right mind would use SOAP in a brand new consumer web app, but it's very common in enterprise products where security and consistency are important, so it's very likely that you'll encounter it at some point or another.

Collapse
 
llorx profile image
Jorge Fuentes • Edited

Have not integrated Active Directory that much, but has been always with LDAP. I guess they are reducing SOAP lately.

Another one that uses SOAP is CAISO (California ISO), to manage power plants. A pain to implement actually.

Collapse
 
dominikbraun profile image
DB

SOAP 💀

Collapse
 
amyswen451 profile image
Amanda Swensen

Every article where SOAP is mentioned has debate in the comments whether it is good or not.

Collapse
 
phophogr profile image
Phoebe Green

Great post! One quick question. Is gRPC (HTTP/2) faster than REST with HTTP/2?

Collapse
 
binho3399 profile image
binho3399

Sounds great

Collapse
 
yukikimoto profile image
Yuki Kimoto - SPVM Author

Thanks.

Collapse
 
mikedevkelly profile image
mikedevkelly

Do you think that SOAP has a future? From the list of pros and cons in the post, it doesn’t look like pros outweigh the cons, but idk 🤷‍♂️

Collapse
 
alessioferrine profile image
alessioferrine

I think this is possible if WSDL or a similar protocol, which allow generating client proxies, starts to be used for RESTful services

Collapse
 
lovepreetsingh profile image
Lovepreet Singh

Well, I am not clear with the implementation details of an API using REST, SOAP and gRPC

Collapse
 
eun_kyung_x profile image
Eun Kyung

API Tester looks good. Has anyone used it before?