Why isn't gRPC used more for browser to api transport over REST / graphql?

This page summarizes the projects mentioned and recommended in the original post on /r/webdev

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • grpc-web

    gRPC Web implementation for Golang and TypeScript (by improbable-eng)

  • I'm debating whether or not to rely on grpc for all client to API transport using improbable-eng's grpc-web project. The hesitation I'm running into is concern over unforeseen pitfalls. The fact that it isn't widely used is the main cause for my apprehension.

  • ts-proto

    An idiomatic protobuf generator for TypeScript

  • I'm planning on modding https://github.com/stephenh/ts-proto to use https://github.com/ianstormtaylor/superstruct on the client.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Superstruct

    A simple and composable way to validate data in JavaScript (and TypeScript).

  • I'm planning on modding https://github.com/stephenh/ts-proto to use https://github.com/ianstormtaylor/superstruct on the client.

  • sqlx

    🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite. (by launchbadge)

  • For sql, there's https://diesel.rs/ and https://github.com/launchbadge/sqlx/. Mongo has a a great native driver for rust. Elasticsearch is actually easier, imo, than in Go due to being able to use builders properly.

  • diesel

    A safe, extensible ORM and Query Builder for Rust

  • For sql, there's https://diesel.rs/ and https://github.com/launchbadge/sqlx/. Mongo has a a great native driver for rust. Elasticsearch is actually easier, imo, than in Go due to being able to use builders properly.

  • openapi

    an OpenAPI 3.x library for go (by chanced)

  • I built a (go) very rough draft to support 3.1 + a json pointer pkg to support a refactor that was in progress before I bailed on the idea. The amount of effort to get a conventional API was dwarfing that of grpc, especially with protoc-gen-validate.

  • jsonpointer

    JSON Pointers (rfc 6901) for Go

  • I built a (go) very rough draft to support 3.1 + a json pointer pkg to support a refactor that was in progress before I bailed on the idea. The amount of effort to get a conventional API was dwarfing that of grpc, especially with protoc-gen-validate.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • protoc-gen-validate

    Protocol Buffer Validation - Being replaced by github.com/bufbuild/protovalidate

  • I built a (go) very rough draft to support 3.1 + a json pointer pkg to support a refactor that was in progress before I bailed on the idea. The amount of effort to get a conventional API was dwarfing that of grpc, especially with protoc-gen-validate.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts