awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
grpc avatar

grpc/grpc-web

0
View on GitHub↗
9,229 estrellas·798 forks·JavaScript·Apache-2.0·4 vistasgrpc.io↗

Grpc Web

gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy, using Protocol Buffers for serialization. It provides a browser-based gRPC client that supports unary, server-streaming, and bidirectional streaming RPCs, along with a code generator that produces JavaScript and TypeScript client stubs from .proto service definitions.

The library includes an interceptor framework for attaching cross-cutting logic like authentication and retries to client calls, and supports setting Unix timestamp deadlines on RPCs for server-side timeout enforcement. It generates TypeScript type definitions alongside JavaScript stubs for type-safe client code, and offers a choice between text and binary wire formats for browser compatibility.

The project provides a complete toolchain for defining gRPC services with Protocol Buffers, compiling them into client stubs, and routing browser gRPC-web traffic through compatible proxies like Envoy or Nginx. It also supports pluggable authentication mechanisms for attaching credentials to remote procedure calls.

Features

  • Browser gRPC Clients - Calling gRPC services from web browsers through an HTTP proxy using Protocol Buffers for serialization.
  • Protocol Buffers Serializers - Encode and decode data using a binary serialization format, ensuring efficient and type-safe payloads between client and server.
  • gRPC Stub Type Definitions - Generate type definitions or full TypeScript output alongside the stub so editors provide type checking.
  • Server-Pushed Message Streams - Receive a sequence of messages pushed by a gRPC service over a single connection, allowing real-time data delivery to the browser.
  • gRPC Interceptor Libraries - Attaching interceptors to client calls in the browser to add cross-cutting logic like authentication and retries.
  • HTTP Bidirectional Streaming - Implements bidirectional message streaming by multiplexing multiple HTTP connections or using chunked transfer encoding for real-time communication.
  • gRPC-Web Bridging - Translating gRPC semantics into HTTP/1.1 or HTTP/2 requests so browsers can call remote procedures without native gRPC support.
  • Unary Interceptors - Modify outgoing requests and incoming responses for unary gRPC calls by implementing a defined interceptor interface.
  • Unary and Streaming Interceptors - Chain custom interceptors for unary or stream RPCs to add cross-cutting behavior like authentication or retries.
  • gRPC Service Implementations - Define remote procedure calls and messages with Protocol Buffers so clients and servers in different languages can communicate.
  • Pluggable Authentication Mechanisms - Integrate custom or standard authentication mechanisms into each remote procedure call.
  • Server-Side Streaming - Get a sequence of messages from a server-side streaming call as they arrive without waiting for the full response.
  • Bidirectional Stream Establishment - Send and receive a continuous stream of messages between client and server over a single persistent connection.
  • Protocol Buffer Schemas - Describe a remote procedure call service using a language-neutral schema for structured data serialization.
  • Protobuf Stub Generators - Turn schema definitions into message classes and a service client stub that handles serialization and transport.
  • JavaScript Client Stubs - Generates JavaScript message classes and client stubs from .proto definitions, handling serialization and deserialization automatically.
  • RPC Interceptors - Wrap unary or stream interceptors around remote calls to inject cross-cutting logic like authentication or retries.
  • Bidirectional Streams - Send and receive a continuous flow of messages over a single connection for real-time bidirectional communication.
  • Remote Procedure Calls - Send requests to a remote service through a proxy and receive responses using standard HTTP so frontend code can invoke backend methods.
  • gRPC-Web Client Support - A JavaScript library that lets browser applications call gRPC services through an HTTP proxy using Protocol Buffers for serialization.
  • Browser gRPC Streaming Clients - A client implementation that supports unary, server-streaming, and bidirectional streaming RPCs from web browsers over HTTP.
  • Server-Streaming Interceptors - Wrap a server-streaming response to intercept stream events and modify response messages as they arrive.
  • Wire Format Selection - Choose between a text format or a binary format for the payload, each with different browser compatibility.
  • TypeScript Stub Typings - Generates .d.ts declarations or full TypeScript output alongside JavaScript stubs, providing compile-time type checking for client code.
  • Proxy Configurations - Route browser gRPC-web requests through a compatible proxy such as Envoy, Nginx, or a dedicated Go proxy.
  • Ordered Interceptor Chains - Attach an ordered array of unary or stream interceptors to a client instance at creation time.
  • Message Interception - Wrap the response stream to intercept events and modify messages as they arrive from the server.
  • Deadline Management - Specify a Unix timestamp deadline for a remote call, causing an error if the call exceeds that time.
  • Client-Side Interceptor Attachment - Attach one or more interceptor instances to a client when it is instantiated, applying them to all subsequent remote procedure calls.
  • Deadline Verification - Pass a timestamp header on a remote call so the server aborts the call if it exceeds the specified time limit.
  • Core Libraries - Library for enabling gRPC in web clients.

Historial de estrellas

Gráfico del historial de estrellas de grpc/grpc-webGráfico del historial de estrellas de grpc/grpc-web

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace grpc/grpc-web?

gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy, using Protocol Buffers for serialization. It provides a browser-based gRPC client that supports unary, server-streaming, and bidirectional streaming RPCs, along with a code generator that produces JavaScript and TypeScript client stubs from .proto service definitions.

¿Cuáles son las características principales de grpc/grpc-web?

Las características principales de grpc/grpc-web son: Browser gRPC Clients, Protocol Buffers Serializers, gRPC Stub Type Definitions, Server-Pushed Message Streams, gRPC Interceptor Libraries, HTTP Bidirectional Streaming, gRPC-Web Bridging, Unary Interceptors.

¿Qué alternativas de código abierto existen para grpc/grpc-web?

Las alternativas de código abierto para grpc/grpc-web incluyen: grpc/grpc-rust — grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and… improbable-eng/grpc-web — grpc-web is a translation layer and proxy system that enables web browsers to communicate with gRPC backend services.… grpc-ecosystem/go-grpc-middleware — go-grpc-middleware is a gRPC middleware framework for Go designed to handle cross-cutting concerns, reliability, and… connectrpc/connect-go — Connect-go is a library for building type-safe remote procedure call services that are wire-compatible with gRPC and… grpc/grpc-node — This project is a gRPC framework for Node.js used to implement high-performance remote procedure calls. It provides a… grpc/grpc-dotnet — This project is a .NET implementation of the gRPC framework, providing a system for executing functions on remote…

Alternativas open-source a Grpc Web

Proyectos open-source similares, clasificados según cuántas características comparten con Grpc Web.
  • grpc/grpc-rustAvatar de grpc

    grpc/grpc-rust

    12,338Ver en GitHub↗

    grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and servers. It provides an asynchronous communication stack and a protocol buffers implementation for encoding, decoding, and generating type-safe code from service definitions. The project enables the implementation of unary and bi-directional data streaming over the HTTP/2 protocol. It includes specialized support for gRPC-Web integration, allowing browser-based clients to communicate with services through protocol translation. The infrastructure covers a broad range of distr

    Rustasyncgrpcproto
    Ver en GitHub↗12,338
  • improbable-eng/grpc-webAvatar de improbable-eng

    improbable-eng/grpc-web

    4,470Ver en GitHub↗

    grpc-web is a translation layer and proxy system that enables web browsers to communicate with gRPC backend services. It consists of a gRPC Web Proxy that converts browser-based HTTP and WebSocket requests into standard gRPC calls, along with a TypeScript gRPC client for making strongly-typed remote procedure calls from browsers or Node.js environments. The project features a bidirectional streaming bridge that utilizes WebSockets to bypass browser limitations, allowing for full-duplex communication and client-side data streaming. It includes a protocol buffer code generator that parses schem

    TypeScriptbrowsergolanggrpc
    Ver en GitHub↗4,470
  • grpc-ecosystem/go-grpc-middlewareAvatar de grpc-ecosystem

    grpc-ecosystem/go-grpc-middleware

    6,749Ver en GitHub↗

    go-grpc-middleware is a gRPC middleware framework for Go designed to handle cross-cutting concerns, reliability, and observability. It provides a collection of interceptors that can be used to modify inbound and outbound calls to enforce system-wide policies. The framework distinguishes itself through specialized toolkits for service reliability, including automatic retry logic for failed client calls and panic recovery mechanisms that translate runtime crashes into standard error responses. It also features an observability suite for collecting performance metrics and recording request activ

    Goauthenticationgeneric-functionsgolang
    Ver en GitHub↗6,749
  • connectrpc/connect-goAvatar de connectrpc

    connectrpc/connect-go

    3,963Ver en GitHub↗

    Connect-go is a library for building type-safe remote procedure call services that are wire-compatible with gRPC and HTTP. It provides a Go implementation of Protocol Buffers for structured data exchange, enabling the creation of multi-protocol RPC servers and generated type-safe clients. The framework is distinguished by its polyglot protocol support, allowing a single server handler to serve requests using several different protocols simultaneously over HTTP. This includes the ability to toggle between different transport protocols for the same service and the use of pluggable content negot

    Go
    Ver en GitHub↗3,963
  • Ver las 30 alternativas a Grpc Web→