We may earn an affiliate commission when you visit our partners.
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.

gRPC is one of the most advanced and exciting web APIs in the industry today, and it adds a lot of value to any web app. Capabilities such as server and client streaming, strongly-typed messages, blazing-fast performance and more make it an important asset in every developer and architect toolbox.

And this practical, hands-on course will make you an expert in gRPC.

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.

gRPC is one of the most advanced and exciting web APIs in the industry today, and it adds a lot of value to any web app. Capabilities such as server and client streaming, strongly-typed messages, blazing-fast performance and more make it an important asset in every developer and architect toolbox.

And this practical, hands-on course will make you an expert in gRPC.

We are going to cover all aspects of gRPC, from the very basics to the most advanced topics.

Here are some of the topics we're going to discuss:

- How gRPC stacks against REST API

- Basic concepts of gRPC

- The 4 communication types of gRPC:

   - Unary RPC

   - Client-side streaming

   - Server-side streaming

   - Bi-directional streaming

- Best practices of designing gRPC API

- Using Protobuf, the message serialization format used by gRPC

- Error handling in gRPC

- Authorization and Security

And lots more.

Now, in order to make this course as valuable as possible, I made it extremely practical and hands-on.

We're going to build, together, a fully-functional, full-blown gRPC-based chat app, utilizing all the concepts we'll learn in the course, and we're going to use multiple platforms for that - nodeJS and .NET.

Note: You don't have to be a .NET or nodeJS developer to take this course. I'm going to guide you through all the steps in the development process, and make sure everything will work as expected.

By the end of this course, you'll be an expert in gRPC, not just in theory, but in practicality.

There is no other course like this. This is the only course that will take you all the way to  be an expert in gRPC, from the very beginning to topics known to few, and will do that in an extremely practical and hands-on fashion.

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 grpc
  • How grpc stacks against rest api
  • Using protobuf to send messages between systems
  • The 4 communication types of grpc
  • Error handling in grpc
  • Implementing deadlines in grpc
  • Implementing authorization and security in grpc
  • Using grpc in the browser

Syllabus

What is an API?
API Types
Importance of API
Why Do You Need a Well Designed API?
Read more
Welcome
Course Introduction
Join the Software Architects Community
Get the course slides
Who Is This Course For?
Agenda
API Basics
Read this before going through this section
Web APIs
SOAP
REST
GraphQL
gRPC
gRPC Basics
Problems with REST API
History of gRPC
RPC
Communication Styles
ProtoBuf
Advanced Topics
Preparing the Environment
Introduction
Installing .NET SDK
Installing nodeJS
Installing VS Code and Extensions
Introducing Our App
The gRoom App
Protobuf
Protobuf Usage Flow
Messages Basic Syntax
Configuring Protobuf in .NET
Developing with Protobuf
Default Values
Working With Composite Types
Updating a Message Type
Oneof
Maps
Defining Services
Building the gRoom Server
Creating and Configuring the Project
Building the gRoom Service
Testing the Service with BloomRPC
Unary RPC
Implementing the Client
Client-side Streaming
Implementing Client-side Streaming in the Server
Server-side Streaming
Implementing Server-side Streaming in the Server
Connecting the News Bot to the Server Stream
Bi-Directional Streaming
Implementing Bi-Directional Streaming in the Server
Testing the Server
Final Touches
Putting It All Together
Deadlines
Implementing Deadlines
Error Handling
Adding Error Handling to gRoom
Cancelling Requests
Implementing Request Cancellation
Authentication
Introduction to OAuth
Adding Authentication to gRoom
gRPC in the Browser
Implementing gRPC in the Browser
Configuring the Server for gRPC-Web
Using gRPC-Web in the Browser
Conclusion
Bonus: Next Steps

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers gRPC, which offers capabilities such as server and client streaming and strongly-typed messages, making it a valuable asset for modern web application development
Explores Protobuf, the message serialization format used by gRPC, which is essential for efficient data exchange in modern microservices architectures
Includes hands-on experience building a fully functional gRPC-based chat application using both NodeJS and .NET, providing practical skills applicable to real-world projects
Requires students to understand code and how the internet works, including HTTP protocol and the request/response model, which may exclude some beginners
Examines authentication using OAuth, which is a standard protocol for secure authorization and is widely used in web applications and APIs
Discusses gRPC in the browser, which allows developers to build high-performance web applications that communicate directly with gRPC services, enhancing user experience

Save this course

Save Building Web APIs with gRPC - The Complete Guide to your list so you can find it easily later:
Save

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 Building Web APIs with gRPC - The Complete Guide with these activities:
Review REST API Concepts
Refresh your understanding of REST API principles to better appreciate the advantages and differences of gRPC.
Browse courses on REST APIs
Show steps
  • Review the key principles of REST.
  • Compare and contrast REST with other API styles.
  • Identify the limitations of REST that gRPC addresses.
Explore 'Building Microservices with .NET'
Deepen your understanding of microservices architecture, which often utilizes gRPC for inter-service communication.
Show steps
  • Acquire a copy of 'Building Microservices with .NET'.
  • Focus on chapters related to API design and communication patterns.
  • Consider how gRPC fits into the microservices architecture described.
Read 'gRPC: Up and Running'
Supplement your learning with a dedicated book on gRPC to gain a more in-depth understanding of the technology.
Show steps
  • Obtain a copy of 'gRPC: Up and Running'.
  • Read the chapters relevant to the course topics.
  • Take notes on key concepts and examples.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement gRPC Communication Types
Practice implementing each of the four gRPC communication types (Unary, Client-side Streaming, Server-side Streaming, Bi-directional Streaming) to solidify your understanding.
Show steps
  • Set up a gRPC development environment.
  • Create separate projects for each communication type.
  • Implement both the client and server sides.
  • Test each implementation thoroughly.
Write a Blog Post on gRPC vs REST
Solidify your understanding of the differences between gRPC and REST by writing a blog post comparing the two technologies.
Show steps
  • Research the key differences between gRPC and REST.
  • Outline the structure of your blog post.
  • Write the blog post, providing clear explanations and examples.
  • Edit and publish your blog post.
Build a Microservices API with gRPC
Apply your gRPC knowledge by building a microservices API for a real-world application, such as an e-commerce platform or a social media network.
Show steps
  • Design the architecture of your microservices.
  • Define the gRPC services and messages for each microservice.
  • Implement the microservices using gRPC.
  • Deploy and test the microservices API.
Contribute to a gRPC Open Source Project
Gain practical experience and contribute to the gRPC community by contributing to an open-source project that uses gRPC.
Show steps
  • Find a gRPC open-source project on GitHub.
  • Identify an issue or feature to work on.
  • Submit a pull request with your changes.
  • Respond to feedback and iterate on your changes.

Career center

Learners who complete Building Web APIs with gRPC - The Complete Guide will develop knowledge and skills that may be useful to these careers:
API Developer
An API developer specializes in the design, implementation and maintenance of application programming interfaces. This course is extremely relevant to an API developer because it focuses on gRPC, a specific type of API that is crucial for high-performance web applications. By learning the concepts taught in this course, an API developer will have the knowledge to build and maintain gRPC APIs. The course also teaches how gRPC stacks against REST APIs along with concepts such as using protobuf message serialization, error handling and security which are of high importance to an API developer.
Software Developer
A software developer is responsible for designing, developing, and maintaining software applications. This course is especially relevant to a software developer interested in web services as it focuses on gRPC, a cutting-edge technology. This course covers the basics of gRPC to advanced concepts, such as the four communication types of gRPC, error handling, and security. The hands-on approach of building a fully functional gRPC-based chat application makes this course beneficial to a software developer seeking to add expertise with gRPC. This course will help a software developer become an expert in gRPC.
Web Services Developer
A web services developer designs and builds the services that make web applications function. This course directly teaches skills relevant to developing modern web services using gRPC. Because this course covers all aspects of gRPC, including basic concepts, communication types, best practices, and practical implementation, it is beneficial to a web services developer. The course's hands-on approach of building a chat application is a practical way to learn about the technologies used by a web services developer. By the end of this course, a web services developer will be proficient in gRPC.
Backend Engineer
Backend engineers develop the server-side logic of web applications. This course directly addresses the need for backend engineers to understand how to build and use APIs, specifically with gRPC. The course provides a practical focus on building a gRPC-based chat application using Node.js and .NET. This course covers the four communication types of gRPC, including unary, client-side streaming, server-side streaming, and bi-directional streaming. These are important skills for a backend engineer working with APIs. The course also addresses error handling and security in gRPC.
Software Architect
A software architect designs the structure of software systems. They make key decisions about technology, frameworks, and APIs. Because this course covers gRPC, a modern API technology, this course helps a software architect learn about a crucial tool they should consider adding to their technical stack. An architect needs to understand different approaches to APIs, including REST, SOAP, and GraphQL, which this course also addresses. This course covers topics such as designing gRPC APIs and the protobuf message serialization format, which is also essential knowledge for a software architect.
Full-Stack Developer
A full stack developer handles both front-end and back-end development. This course helps a full stack developer understand how APIs are built and used, particularly with gRPC, which is increasingly important for web applications. The course covers the basics of gRPC and explains how it stacks against REST APIs. This course provides practical experience building a functional gRPC-based chat application, which is a great way for a full stack developer to learn about the four communication types of gRPC, as well as topics such as error handling and security.
Application Architect
An application architect is responsible for the overall design of a software application. This role requires a solid understanding of API design, and this course provides a deep understanding of gRPC. This course will help an application architect make informed decisions about how to use gRPC in their designs. The course covers basic concepts to advanced topics, such as designing gRPC APIs, using Protobuf, and how gRPC compares to REST. An application architect will find the practical, hands-on approach of this course particularly helpful.
Solutions Architect
Solutions architects translate business requirements into technical solutions and design software infrastructure. They need to have a deep understanding of API technologies, such as gRPC, that this course covers in detail. A solutions architect also needs to understand different API types, including REST, SOAP, and GraphQL and how they compare to gRPC. This course helps a solutions architect understand the practical considerations of implementing gRPC, by teaching topics such as error handling, security, and using protobuf, all of which is necessary to design robust and scalable systems.
API Consultant
An API consultant advises clients on how to design and implement APIs. This course provides valuable insights into design and implementation of gRPC-based APIs, giving an API consultant a solid understanding of the technology. The course covers topics such as communication types, error handling, security, and Protobuf, all of which are essential to consulting on gRPC APIs. The course also covers how gRPC stacks against REST, which is valuable for an API consultant advising on API strategy. This course helps an API consultant provide informed and effective recommendations.
Technical Lead
A technical lead guides development teams, making choices about technology and implementation. To make these choices, a technical lead must understand the nuances of technologies like gRPC that this course covers from the basics to advanced topics. This course covers the four communication types of gRPC, as well as error handling and security, all of which are necessary for a technical lead to be effective. Building a gRPC chat app throughout this course also provides practical experience to inform technology choices, making this course helpful for a technical lead.
Cloud Engineer
Cloud engineers manage and maintain cloud infrastructure. Many cloud applications utilize gRPC for efficient communication between microservices. This course teaches a cloud engineer how to build and use gRPC APIs, how it stacks against REST APIs, and the benefits of streaming. Cloud engineers will learn how to leverage the performance capabilities of gRPC, and the course's focus on practical application helps a cloud engineer apply these technologies to cloud based systems. This course also helps a cloud engineer understand the error handling and security aspects of gRPC.
DevOps Engineer
A DevOps engineer works to streamline software development and deployment. DevOps engineers often need to work with APIs as an important component of continuous integration and continuous delivery. This course helps a DevOps engineer understand and use gRPC for building robust and efficient systems. The course's coverage of gRPC from basic to advanced topics is particularly helpful, and the hands-on aspect of building a gRPC-based chat application gives DevOps engineers practical experience. A DevOps engineer, by taking this course, will be better equipped to deploy and manage gRPC based systems.
Systems Analyst
A systems analyst evaluates existing systems and recommends improvements. They need to understand how APIs function as a core element of system architecture. As this course explains gRPC in depth and how it stacks against REST APIs, it helps a systems analyst understand and evaluate the API options available. This course also covers important aspects of gRPC, such as error handling, security and the use of protobuf. A systems analyst would benefit by being able to make informed decisions about API implementation based on the knowledge gained in this course.
Integration Specialist
An integration specialist focuses on connecting different systems and software. APIs such as gRPC are an essential component to integration and understanding its nuances is important for integration specialists. This course, therefore, may be useful as it covers the basics of gRPC, different methods of communication, error handling and authorization. This course teaches how gRPC stacks against REST, which is necessary for integration specialists when deciding upon the API to use. The course provides a practical hands on experience with building a chat application using gRPC.
Enterprise Architect
An enterprise architect focuses on aligning information technology with organizational goals, and needs awareness of all technologies used in the enterprise, including APIs and frameworks such as gRPC. This course provides practical experience in building gRPC-based systems, and helps an enterprise architect understand the real-world implications of using gRPC. The course also covers topics such as security, error handling, and Protobuf, all of which an enterprise architect must be aware of when making decisions about which technologies to use. This course may be beneficial for an enterprise architect.

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 Building Web APIs with gRPC - The Complete Guide.
Provides a comprehensive overview of gRPC, covering its architecture, features, and practical applications. It serves as an excellent companion to the course, offering deeper insights into gRPC concepts and best practices. The book is particularly helpful for understanding the nuances of Protobuf and the various gRPC communication patterns. It valuable reference for both beginners and experienced developers looking to master gRPC.
Provides a practical guide to building microservices using .NET, which is one of the platforms used in the course's chat application. While not solely focused on gRPC, it offers valuable insights into designing and implementing microservices architectures that can effectively leverage gRPC for inter-service communication. It useful resource for understanding the broader context of gRPC within a microservices environment. This book is more valuable as additional reading than 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