Система удаленного вызова процедур gRPC — новый виток технологии RPC, который считается альтернативой REST API. Но если с REST API всё понятно — этот подход уже давно применяют, а его встроенная поддержка есть в большинстве сторонних инструментов, — то с gRPC всё не так однозначно. Несмотря на преимущества, у gRPC есть подводные камни, из-за которых многие разработчики не спешат к ней обращаться.
Я решил на собственном опыте выяснить, как gRPC покажет себя в JavaScript, и разработал прототип веб-приложения для интернет-магазина. Что из этого вышло, расскажу в докладе:
* перечислю основные преимущества gRPC;
* покажу, как создать простой gRPC-сервер и клиента на Next.js и что будет, если применить протоколы, в основе которых лежит стриминг;
* подробно рассмотрю Protocol Buffers 3 и то, как быть с отсутствием полноценной поддержки HTTP/2 в браузере;
* поделюсь рекомендациями по использованию gRPC в Node.js.