awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to grpc/grpc-web

Open-source alternatives to Grpc Web

30 open-source projects similar to grpc/grpc-web, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Grpc Web alternative.

  • grpc/grpc-rustgrpc avatar

    grpc/grpc-rust

    12,338View on 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
    View on GitHub↗12,338
  • improbable-eng/grpc-webimprobable-eng avatar

    improbable-eng/grpc-web

    4,470View on 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
    View on GitHub↗4,470
  • grpc-ecosystem/go-grpc-middlewaregrpc-ecosystem avatar

    grpc-ecosystem/go-grpc-middleware

    6,749View on 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
    View on GitHub↗6,749

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • connectrpc/connect-goconnectrpc avatar

    connectrpc/connect-go

    3,963View on 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
    View on GitHub↗3,963
  • grpc/grpc-nodegrpc avatar

    grpc/grpc-node

    4,833View on GitHub↗

    This project is a gRPC framework for Node.js used to implement high-performance remote procedure calls. It provides a client-server communication library that utilizes HTTP/2 for streaming, multiplexing, and binary framing, alongside a protocol buffers implementation for defining structured data and generating service stubs. The framework includes a toolchain to compile protocol buffer files into language-specific objects and supports the generation of static TypeScript type definitions to validate objects at runtime. The library covers distributed system networking and microservices communi

    TypeScript
    View on GitHub↗4,833
  • grpc/grpc-dotnetgrpc avatar

    grpc/grpc-dotnet

    4,469View on GitHub↗

    This project is a .NET implementation of the gRPC framework, providing a system for executing functions on remote servers as if they were local calls. It serves as a high-performance remote procedure call (RPC) framework that utilizes HTTP/2 for service connectivity and binary communication protocols to ensure efficient data exchange. The implementation includes a gRPC-Web proxy, which acts as a translation layer to enable browser-based applications to communicate with gRPC services through web-compatible requests. It further supports the creation of HTTP/2 service meshes to connect distribut

    C#
    View on GitHub↗4,469
  • grpc/grpcgrpc avatar

    grpc/grpc

    44,891View on GitHub↗

    gRPC is a language-agnostic remote procedure call framework designed for high-performance communication between distributed services. It utilizes a structured interface definition language to generate consistent client stubs and server skeletons, enabling applications to invoke methods on remote servers as if they were local objects. By leveraging the HTTP/2 transport layer, the framework supports efficient binary serialization and multiplexed data exchange across diverse programming environments. The framework distinguishes itself through its support for flexible communication patterns, incl

    C++
    View on GitHub↗44,891
  • grpc-ecosystem/grpc-springgrpc-ecosystem avatar

    grpc-ecosystem/grpc-spring

    3,706View on GitHub↗

    grpc-spring is a framework for integrating gRPC servers and clients into Spring applications. It provides a suite of tools for managing the lifecycle of remote procedure call servers, automating client stub injection, and implementing request interception within a Java environment. The project enables high-performance remote procedure call communication through annotation-driven service registration and automatic configuration of client stubs. It includes a specialized interceptor library for modifying requests and responses, as well as a telemetry tool for exporting performance metrics and d

    Javagrpcgrpc-frameworkgrpc-java
    View on GitHub↗3,706
  • line/armerialine avatar

    line/armeria

    5,115View on GitHub↗

    Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions as a multi-protocol RPC server capable of exposing gRPC, Thrift, and REST services on a single unified port. The project is distinguished by its ability to run diverse communication protocols simultaneously and its integrated RPC debugging web console, which allows for the discovery and invocation of remote procedure calls via JSON. It also includes a gRPC to JSON transcoder to enable web client compatibility with Protobuf services. The framework provides a comprehensive sui

    Java
    View on GitHub↗5,115
  • tokio-rs/prosttokio-rs avatar

    tokio-rs/prost

    4,717View on GitHub↗

    Prost is a Protocol Buffers implementation for Rust that functions as a binary serialization framework and code generator. It translates schema definitions into idiomatic Rust structs and enums, providing the logic necessary to encode and decode structured data into the Protocol Buffers binary format. The project distinguishes itself through a no-std implementation, allowing it to operate in embedded or kernel environments that lack a standard library. It also serves as a schema introspector by emitting file descriptor sets, which enables the programmatic analysis of original schema definitio

    Rustprotobufrust
    View on GitHub↗4,717
  • userver-framework/userveruserver-framework avatar

    userver-framework/userver

    2,811View on GitHub↗

    userver is a comprehensive C++ backend application platform and asynchronous framework designed for building scalable microservices. It provides a high-performance execution environment for deploying services that communicate via gRPC and HTTP using a middleware-based request pipeline. The platform distinguishes itself through a distributed service orchestration toolset that manages shared state, distributed locking, and dynamic configuration updates without requiring process restarts. It utilizes a coroutine-based asynchronous execution model and event-loop network I/O to handle high-concurr

    C++asyncasynchronouscoroutines
    View on GitHub↗2,811
  • gogo/protobufgogo avatar

    gogo/protobuf

    5,669View on GitHub↗

    This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp

    Gogogolanggrpc
    View on GitHub↗5,669
  • fullstorydev/grpcuifullstorydev avatar

    fullstorydev/grpcui

    5,907View on GitHub↗

    grpcui is a browser-based interactive web interface and API client for executing remote procedure calls to gRPC servers. It functions as an HTTP to gRPC gateway that translates JSON payloads into binary protobuf messages, allowing users to trigger network requests and inspect responses through a visual web interface. The tool provides schema browsing and discovery capabilities by querying server reflection or loading local protobuf descriptor files to identify available services and method signatures. It uses these definitions to automatically generate dynamic input forms for constructing req

    JavaScript
    View on GitHub↗5,907
  • googollee/go-socket.iogoogollee avatar

    googollee/go-socket.io

    5,787View on GitHub↗

    go-socket.io is a Go implementation of the Socket.IO protocol used to build real-time, bidirectional, and event-driven communication between servers and clients. It functions as a communication framework that manages persistent connections and maps incoming network packets to specific handler functions to execute application logic. The library enables horizontal scaling of real-time connections through a distributed pub/sub adapter, which synchronizes events across multiple server instances using an external data store. It ensures reliability across different network environments by automatic

    Go
    View on GitHub↗5,787
  • reactjs/server-components-demoreactjs avatar

    reactjs/server-components-demo

    4,359View on GitHub↗

    This project is an implementation of React Server Components, providing a full-stack component architecture that blends server-side rendering with client-side interactivity. It enables the development of web applications where server-only components for data fetching and interactive client components coexist within a single component tree. The system focuses on server-client data orchestration, allowing for the execution of server functions and database mutations across the network boundary. It distinguishes itself through a hybrid component architecture that shifts component execution to the

    JavaScript
    View on GitHub↗4,359
  • labring/laflabring avatar

    labring/laf

    7,552View on GitHub↗

    Laf is a serverless backend platform that provides an integrated environment for cloud functions, a document database, and file storage. It serves as a complete infrastructure for developing and deploying backend logic, data persistence, and real-time communication without the need for manual server management. The platform features a browser-based IDE that allows developers to write, test, and deploy serverless functions directly within a web editor, removing the requirement for local environment setup. It also includes a WebSocket communication platform for maintaining persistent bidirectio

    TypeScriptcloudbasefaasfirebase
    View on GitHub↗7,552
  • rivet-dev/rivetrivet-dev avatar

    rivet-dev/rivet

    5,619View on GitHub↗

    Rivet is a distributed infrastructure for managing the lifecycle, addressing, and persistence of stateful actors and durable execution engines. It provides a distributed process sandbox that executes application logic within lightweight isolates, ensuring resource isolation and fast cold starts. The system is designed to coordinate multi-step operations using persistent queues and timers to guarantee reliable task completion across distributed environments. The platform specifically enables the orchestration of stateful AI agents that maintain persistent memory and state across long-running i

    Rustactoractorscloudflare
    View on GitHub↗5,619
  • php-amqplib/php-amqplibphp-amqplib avatar

    php-amqplib/php-amqplib

    4,597View on GitHub↗

    php-amqplib is a PHP library that implements the AMQP protocol to enable communication between applications and message brokers. It provides the necessary tools to integrate PHP applications with RabbitMQ for sending and receiving messages across decoupled services. The library supports a wide range of messaging patterns, including asynchronous task processing, event-driven architectures, and remote procedure calls using correlation identifiers. It manages the full message lifecycle through publishing, queue declaration, and flexible consumption models using either push-based subscriptions or

    PHPamqphacktoberfestmessaging
    View on GitHub↗4,597
  • libp2p/libp2plibp2p avatar

    libp2p/libp2p

    2,940View on GitHub↗

    libp2p is a modular peer-to-peer networking stack designed for building decentralized applications. It provides the core infrastructure necessary for nodes to discover and connect with other participants across a network without relying on central servers. The project distinguishes itself through a flexible transport layer that abstracts multiple protocols, including TCP, QUIC, WebSockets, and WebTransport, into a single interface. It features specialized tools for NAT and firewall traversal, such as hole punching and relay nodes, to establish direct connections between peers and web browsers

    View on GitHub↗2,940
  • poem-web/poempoem-web avatar

    poem-web/poem

    4,408View on GitHub↗

    Poem is a comprehensive toolkit for building type-safe web applications, APIs, and servers using the Rust programming language. It provides a foundation for developing web servers that handle HTTP requests with strong type safety. The framework distinguishes itself by supporting multiple communication protocols through a protocol-agnostic handler mapping. This allows a single internal logic to be exposed across HTTP, gRPC services using protobuf definitions, and the Model Context Protocol for AI model integration. Additionally, it includes built-in tooling for generating OpenAPI v3 specificat

    Rustfastapiframeworkhttp
    View on GitHub↗4,408
  • samdutton/simplsamdutton avatar

    samdutton/simpl

    5,191View on GitHub↗

    Simpl is an HTML, CSS, and JavaScript example library that provides a collection of minimal functional demonstrations of core web technologies and native browser APIs. It serves as a reference implementation and pattern gallery for frontend development, offering practical examples of how to implement common web features. The project showcases a wide range of browser capabilities, including real-time web communication via WebSockets and WebRTC, responsive web design techniques for adaptive layouts, and the implementation of offline workflows using service workers. It also provides demonstratio

    HTMLcsshtmljavascript
    View on GitHub↗5,191
  • cloudwego/hertzcloudwego avatar

    cloudwego/hertz

    7,279View on GitHub↗

    Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe

    Gogohttpmicroservices
    View on GitHub↗7,279
  • apple/swift-protobufapple avatar

    apple/swift-protobuf

    4,935View on GitHub↗

    This project is a Protocol Buffers Swift library and framework providing a runtime for serializing and deserializing structured data. It includes a code generator that transforms schema files into type-safe Swift structures and a binary serialization framework for converting data into compact streams. The library functions as a JSON data mapper, transforming messages into standard JSON representations to facilitate cross-platform data exchange. It utilizes a schema-driven approach to ensure consistent data modeling between Swift applications and services written in other languages. The frame

    Swift
    View on GitHub↗4,935
  • emissary-ingress/emissaryemissary-ingress avatar

    emissary-ingress/emissary

    4,509View on GitHub↗

    Emissary is a Kubernetes API gateway that manages incoming external traffic and routes it to internal microservices. It utilizes an Envoy proxy as the underlying data plane to handle high-performance traffic routing and protocol translation, with a control plane that translates Kubernetes custom resources and annotations into proxy configurations. The project provides specialized support for gRPC infrastructure, including HTTP/2 routing and gRPC-Web protocol bridging for browser-based clients. It enables zero-trust security through mutual TLS encryption and delegates identity verification to

    Pythonambassadorapi-gatewayapi-management
    View on GitHub↗4,509
  • hwholiday/learning_toolshwholiday avatar

    hwholiday/learning_tools

    4,292View on GitHub↗

    This project is a microservice framework for building scalable backend systems in Go. It provides an architecture for distributed systems with integrated support for service discovery, load balancing, and fault-tolerance mechanisms. The framework distinguishes itself through a domain-driven layered architecture and a remote-first configuration system that synchronizes settings between remote stores and local files with automatic failover. It implements a high-performance communication model using gRPC for unary and streaming data exchange, as well as real-time notification systems for managin

    Goaesauth2ddd-example
    View on GitHub↗4,292
  • neuecc/magiconionneuecc avatar

    neuecc/MagicOnion

    4,408View on GitHub↗

    MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol and real-time communication engine that uses shared interfaces to provide type-safe communication between clients and servers. The framework distinguishes itself through its compatibility with ahead-of-time compilation environments, utilizing source generators for client proxies and serialization to support mobile and console platforms including those using IL2CPP. It provides a specialized middleware layer for Unity that handles engine-specific data types and ensures runtime

    C#
    View on GitHub↗4,408
  • discourse/message_busdiscourse avatar

    discourse/message_bus

    1,663View on GitHub↗

    Message Bus is a messaging library for Ruby and Rack applications designed to facilitate real-time data broadcasting and inter-process communication. It provides a framework for pushing live updates to connected clients and synchronizing state across multiple application instances, ensuring consistent data delivery in scaled environments. The library distinguishes itself through a flexible architecture that supports multiple storage backends, including Redis, PostgreSQL, and in-memory options. It functions as a persistent connection framework that serves as an alternative to traditional web s

    Rubyrubygem
    View on GitHub↗1,663
  • goravel/goravelgoravel avatar

    goravel/goravel

    4,749View on GitHub↗

    Goravel is a full-featured development scaffold and framework for building web applications, REST APIs, and gRPC services using the Go programming language. It implements a model-view-controller architecture and provides a comprehensive toolkit for high-performance remote procedure call servers and clients. The framework is distinguished by its extensive integrated ecosystem, which includes a fluent object-relational mapper for database management and a dedicated command-line interface toolkit for administrative automation and project scaffolding. It features a driver-based service abstractio

    Goapiframeworkgo
    View on GitHub↗4,749
  • middleapi/orpcmiddleapi avatar

    middleapi/orpc

    4,862View on GitHub↗

    orpc is a contract-first API development framework for TypeScript that starts with a shared contract definition and generates type-safe clients and servers from that single source of truth. It guarantees end-to-end type safety, meaning inputs, outputs, errors, and streaming data are all checked at compile time across the client–server boundary. What distinguishes orpc from typical RPC frameworks is its ability to export contracts as OpenAPI specifications, to optimize server-side rendering by calling API handlers directly inside the server process, and to support real‑time bidirectional commu

    TypeScriptapibunjscloudflare-worker
    View on GitHub↗4,862
  • netease/pomeloNetEase avatar

    NetEase/pomelo

    11,880View on GitHub↗

    Pomelo is a distributed Node.js game server framework designed for building scalable multiplayer game backends and real-time web applications. It employs a multi-process architecture to distribute application logic horizontally across a cluster of machines, enabling high concurrency and balanced network traffic. The framework utilizes a WebSocket communication layer to manage bidirectional data exchange between diverse web clients and server clusters. It incorporates a remote procedure call system for triggering functions across remote server processes and uses Protocol Buffers for binary ser

    JavaScript
    View on GitHub↗11,880