Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Memi Lavi

Web API is usually the most important part in a web app.

This is how you expose your web app to the world, and to other users, and it must be fast, easy to use, and up-to-date.

And currently, we have at least three popular Web APIs we can choose from:

REST API

GraphQL

gRPC

And choosing the best one for your web app is not easy. There are quite a few factors that should be taken into consideration when selecting Web APIs, and this decision usually cannot be reversed.

And this course does just that - it teaches you how to choose the best Web API for your web app.

Read more

Web API is usually the most important part in a web app.

This is how you expose your web app to the world, and to other users, and it must be fast, easy to use, and up-to-date.

And currently, we have at least three popular Web APIs we can choose from:

REST API

GraphQL

gRPC

And choosing the best one for your web app is not easy. There are quite a few factors that should be taken into consideration when selecting Web APIs, and this decision usually cannot be reversed.

And this course does just that - it teaches you how to choose the best Web API for your web app.

In this course we're going to start from the basics, and learn about the basic concepts of each one of the web APIs. We'll understand what are its goals, why it was created, and which scenarios it serves best.

Then we'll compare these web APIs and see what are the pros and cons of each one.

And lastly - we'll take a look at the Web API Flowchart, which will guide you through the decision process of the web API to use.

There is no other course like this. This is the only course that compares the most popular web API and helps you make the most important decision in your web app design.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

What do my students have to say about my courses?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

"well done - The course was very practical", Sam

"Good explanation on the topics covered, "Soft Skills" section is a great addition of topics", Sergio

"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]", Mathew

"Life Changing", Arivazhagan

And lots more

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Who is this course for?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Any person who is involved in web development, even system analyst, can profit from this course.

That includes:

- Junior developers

- Senior developers

- Architects

- Anyone else involved in web development

If you're not sure if this course is for you - drop me a note.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

What are the prerequisites for this course?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Students are expected to be able to understand code , and to know how the internet is working (HTTP protocol, Request / Response model, and so on).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

About me

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

I've been in the software industry for more than 25 years, and a Software Architect for more than 20 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.

I'm an avid speaker and trainer, having trained thousands of students in various courses.

I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible API.

Enroll now

What's inside

Learning objectives

  • Basics of the 3 most popular web apis: rest, graphql, grpc
  • Advanced concepts and demonstrations of the web apis
  • Pros and cons of each one of the web apis
  • Decision tree to help make a decision about the api that should be used

Syllabus

Welcome
Course Introduction
Join the Software and Cloud Architect Community
Get the course slides
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores REST, GraphQL, and gRPC, which are essential technologies for modern web application development and are widely used in the industry
Provides a decision tree for selecting the appropriate Web API, which can save developers time and effort in choosing the right technology for their projects
Covers API basics, which builds a strong foundation for junior developers and those new to web API concepts, ensuring they grasp fundamental principles
Requires students to understand code and the HTTP protocol, which means that learners without this background may need to acquire it before taking the course
Includes demonstrations of REST API, GraphQL, and gRPC, which offers hands-on experience and helps learners understand the practical application of these technologies
Examines SOAP, which is an older web API technology that is less relevant in modern web development compared to REST, GraphQL, and gRPC

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comparing rest, graphql, and grpc apis

According to learners, this course offers a clear and concise overview and comparison of REST, GraphQL, and gRPC. Many found the explanations of each API type well-presented and the instructor's knowledge evident. The course is particularly valued for helping students understand the pros and cons of each technology and guiding the decision-making process for choosing the right API. While praised for its foundational coverage and helpful demonstrations, some reviewers noted that it provides a high-level perspective and could benefit from more depth on advanced topics or implementation details, suggesting it's best suited for those seeking a solid understanding of the core concepts and differences rather than deep, hands-on expertise.
Offers a good high-level introduction.
"Good for a high-level overview of the different API types and their main characteristics."
"It gives you a solid foundation to understand the basics before diving deeper elsewhere."
"As an introduction, it's quite comprehensive in covering the essential concepts."
"If you need to understand the 'what' and 'why' of each, this course delivers."
Practical demonstrations aid learning.
"The demos were useful for seeing the concepts in action, especially the gRPC part."
"Seeing the code and the requests/responses helped solidify my understanding."
"I appreciated the hands-on parts, though I wish there were more complex exercises."
Concepts are explained clearly.
"The instructor explains the concepts clearly and provides a good foundation for understanding the different APIs."
"Everything was explained very simply and concisely. I really appreciated how the basics were covered first."
"He knows his stuff and explains it well, making complex topics easy to grasp."
"I found the explanations of GraphQL and gRPC particularly clear, especially compared to other resources."
Excellent comparison and decision guidance.
"Provides a great comparison of the three technologies, which is exactly what I was looking for."
"This course really helped me understand the differences and when to use each API type."
"The comparison section and the flowchart were the most valuable parts for making informed decisions."
"It clearly lays out the pros and cons, which is crucial for choosing the right architecture."
Could cover more advanced topics.
"While the overview is great, I was hoping for more advanced scenarios and implementation details."
"Doesn't go deep enough into building actual applications with these APIs."
"Could use more examples of real-world use cases and complex interactions."
"A bit more technical depth or hands-on coding would improve it."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in REST API vs GraphQL vs gRPC - The Complete Guide with these activities:
Review HTTP Protocol Fundamentals
Solidify your understanding of HTTP protocol basics, including request/response cycles, methods, and status codes, to better grasp the underlying principles of REST APIs.
Browse courses on HTTP Protocol
Show steps
  • Read articles on HTTP methods and status codes.
  • Review the request/response lifecycle.
  • Take a practice quiz on HTTP fundamentals.
Read 'RESTful Web APIs' by Leonard Richardson and Sam Ruby
Gain a deeper understanding of REST principles and best practices by studying a comprehensive guide.
Show steps
  • Read the book cover to cover.
  • Take notes on key concepts and examples.
  • Reflect on how the concepts apply to real-world scenarios.
Follow Tutorials on Implementing GraphQL Resolvers
Deepen your understanding of GraphQL by following tutorials that demonstrate how to implement resolvers for different data sources.
Show steps
  • Find tutorials on GraphQL resolvers with different databases.
  • Implement the resolvers following the tutorial steps.
  • Test the resolvers with sample queries.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Design a Simple API using REST, GraphQL, and gRPC
Apply your knowledge by designing the same API using all three approaches (REST, GraphQL, gRPC) to compare their strengths and weaknesses firsthand.
Show steps
  • Choose a simple domain (e.g., a book catalog).
  • Define the API endpoints/queries/services for each approach.
  • Document the API design for each approach.
  • Compare the development effort and resulting API structure.
Create a Comparison Table of REST, GraphQL, and gRPC
Synthesize your learning by creating a table that compares REST, GraphQL, and gRPC across key dimensions like performance, complexity, and tooling.
Show steps
  • Identify key comparison criteria (e.g., data fetching, error handling).
  • Research and fill in the table with accurate information.
  • Write a short summary of your findings.
Read 'Building Microservices' by Sam Newman
Understand how APIs fit into a microservices architecture by reading a comprehensive guide on the topic.
Show steps
  • Read the book cover to cover.
  • Take notes on key concepts and examples.
  • Reflect on how the concepts apply to real-world scenarios.
Contribute to an Open Source API Project
Gain practical experience by contributing to an open-source project that uses one of the API technologies covered in the course.
Show steps
  • Find an open-source project using REST, GraphQL, or gRPC.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete REST API vs GraphQL vs gRPC - The Complete Guide will develop knowledge and skills that may be useful to these careers:
Software Architect
Software Architects design the structure of software systems, making high-level decisions about technology and infrastructure. This course is especially tailored for Software Architects as it focuses on choosing the best web API, a fundamental decision in web application design. The course provides a comprehensive overview of REST, GraphQL, and gRPC, equipping a Software Architect with the knowledge to evaluate these options and select the most appropriate one based on project requirements. The Web API Flowchart in the course offers a practical tool to guide a Software Architect through this critical decision-making process.
API Strategist
API Strategists are experts in API design and management, guiding organizations in developing effective API strategies. This course directly aligns with the role of an API Strategist by providing a deep understanding of different web API technologies. REST, GraphQL, and gRPC are explored in detail, with a focus on their strengths, weaknesses, and ideal use cases. An API Strategist can use the course's knowledge to develop comprehensive API strategies that maximize the value of APIs to the organization.
API Developer
API Developers specialize in designing, building, and maintaining Application Programming Interfaces. This course provides essential knowledge for any API Developer by covering three of the most popular web API technologies: REST, GraphQL, and gRPC. An API Developer learns the basic concepts, goals, and ideal scenarios for each API, enabling them to build efficient and effective interfaces. Understanding the pros and cons of different APIs allows an API Developer to make informed choices that optimize performance and ease of use for applications.
Web Services Developer
Web Services Developers create and maintain web services, which are software components that communicate over the internet. This course is a direct match for the work of Web Services Developers, focusing on three of the most popular web API technologies: REST, GraphQL, and gRPC. The course enables a Web Services Developer to understand the principles and practical applications of each API, enabling them to build efficient and interoperable web services. Comparing the APIs helps a Web Services Developer choose the right API for specific project requirements.
Solutions Architect
Solutions Architects are responsible for designing and implementing comprehensive technology solutions that meet specific business needs. This course helps a Solutions Architect by providing a thorough understanding of web APIs, which are often a key part of these solutions. The course's comparison of REST, GraphQL, and gRPC enables a Solutions Architect to select the API that best fits the requirements of a particular project, considering factors such as performance, scalability, and ease of integration. The decision tree presented in the course can guide a Solutions Architect through the selection process, ensuring a well-informed decision.
Backend Developer
Backend Developers are responsible for building and maintaining the server-side logic and databases that power web applications. This course directly addresses a critical aspect of their work: selecting the appropriate web API. The course teaches the fundamentals of REST, GraphQL, and gRPC, enabling a Backend Developer to make informed decisions about which API best suits a particular project's needs. A Backend Developer will find the course's comparison of the pros and cons of each API particularly valuable for optimizing performance and scalability.
Integration Architect
Integration Architects specialize in connecting different systems and applications, ensuring they work together seamlessly. This course is valuable for Integration Architects because it provides a thorough understanding of web APIs, which are often used to integrate systems. The course's coverage of REST, GraphQL, and gRPC enables an Integration Architect to select the most appropriate API for a given integration scenario. The knowledge of the pros and cons of each API helps an Integration Architect design robust and efficient integration solutions.
Full-Stack Developer
Full Stack Developers work on both the front-end and back-end of web applications, requiring a broad understanding of different technologies. This course is beneficial because it provides a strong foundation in web APIs, a crucial component of back-end development. A Full Stack Developer will learn about REST, GraphQL, and gRPC, gaining the ability to choose the right API for different scenarios and integrate them effectively with front-end systems. The practical demonstrations included in the course are particularly helpful for understanding how these APIs function in real-world applications.
Technical Lead
Technical Leads guide development teams, providing technical direction and ensuring the successful completion of projects. This course supports a Technical Lead by enhancing their knowledge of web APIs, a critical technology in modern web development. The course's coverage of REST, GraphQL, and gRPC equips a Technical Lead with the information needed to make informed decisions about API selection and implementation. This knowledge enables a Technical Lead to guide their team effectively and ensure that projects are built using the most appropriate technologies.
Cloud Architect
Cloud Architects design and implement cloud-based solutions, leveraging cloud technologies to meet business needs. This course is beneficial to a Cloud Architect by providing a comprehensive understanding of web APIs, which are fundamental to cloud-based applications. The course's coverage of REST, GraphQL, and gRPC equips a Cloud Architect with the knowledge to select the best API for different cloud scenarios. An Cloud Architect can use the course's insights to design scalable, reliable, and cost-effective cloud solutions.
Enterprise Architect
Enterprise Architects align IT strategy with business goals, designing the overall architecture of an organization's IT systems. This course is helpful to an Enterprise Architect because it addresses the important topic of web API selection. The course's comparison of REST, GraphQL, and gRPC provides the knowledge needed to make strategic decisions about API adoption across the enterprise. An Enterprise Architect can use the course's insights to ensure that web APIs are aligned with the organization's overall architecture and business objectives.
Middleware Engineer
Middleware Engineers develop and maintain the software that connects different applications and systems. Since web APIs often serve as the bridge between these systems, this course is useful. A Middleware Engineer learns to compare and contrast REST, GraphQL, and gRPC, allowing them to select the best API for integration. The advanced topics covered in the course may help a Middleware Engineer to design efficient middleware solutions that facilitate data exchange between diverse applications.
Software Engineer
Software Engineers design, develop, and test software applications. As web APIs are integral to modern software development, this course may be useful. It introduces core concepts and helps a Software Engineer to navigate the complexities of REST, GraphQL, and gRPC. The course's focus on the pros and cons of each API may help a Software Engineer make informed decisions about which API to use in different scenarios, leading to improved software performance.
Data Architect
Data Architects design and manage an organization's data infrastructure, ensuring it meets the needs of the business. Web APIs are often used to access and exchange data, making a familiarity with them valuable. This course may be useful for a Data Architect, helping them understand how REST, GraphQL, and gRPC can be used to build data-driven applications. The course's exploration of different API types equips a Data Architect with the knowledge to make informed decisions about data access and integration.
Technical Consultant
Technical Consultants provide expert advice and guidance to organizations on technology-related issues. A solid understanding of web APIs is often essential for providing effective consulting services. This course may be useful for a Technical Consultant seeking to expand their knowledge of REST, GraphQL, and gRPC. The course's comprehensive overview of these APIs can equip a Technical Consultant with with the knowledge they need to advise clients on API selection and implementation.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in REST API vs GraphQL vs gRPC - The Complete Guide.
Provides a comprehensive understanding of REST principles and best practices. It delves into the architectural constraints and design considerations for building robust and scalable RESTful APIs. Reading this book will give you a deeper appreciation for the design choices behind REST and how it compares to other API styles. It valuable resource for anyone serious about designing and implementing RESTful services.
Provides a comprehensive guide to building microservices, which often rely on APIs for communication. It covers topics such as API design, versioning, and security. While not directly focused on REST, GraphQL, or gRPC, it provides valuable context for understanding how these technologies fit into a larger architectural picture. This book is more valuable as additional reading than it is as a current reference.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser