DEV.co
AI Coding Agents · webrpc

webrpc

webrpc is a schema-driven code-generation tool for building typed web APIs. You define your API structure in RIDL or JSON format, then generate strongly-typed server and client code across multiple languages (Go, TypeScript, JavaScript, Kotlin, Dart) automatically.

Source: GitHub — github.com/webrpc/webrpc
829
GitHub stars
50
Forks
Go
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorywebrpc/webrpc
Ownerwebrpc
Primary languageGo
LicenseMIT — OSI-approved
Stars829
Forks50
Open issues21
Latest releasev0.39.0 (2026-06-30)
Last updated2026-06-30
Sourcehttps://github.com/webrpc/webrpc

What webrpc is

webrpc generates HTTP/JSON-based RPC server and client implementations from a declarative schema. It produces strongly-typed request/response payloads, server interfaces, and complete client libraries, eliminating manual API contract negotiation and client code writing.

Quickstart

Get the webrpc source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/webrpc/webrpc.gitcd webrpc# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Multi-language backend services

Teams needing to serve clients in JavaScript/TypeScript frontends, Kotlin mobile apps, and Go/Node.js backends. Single schema generates type-safe clients across all platforms.

Rapid prototyping and iteration

Startups and product teams adding new RPC methods. Schema changes automatically regenerate all client/server code, reducing cycles from design through implementation.

Internal microservices with web compatibility

Services consumed by both browser clients and backend services. HTTP/JSON foundation ensures tooling compatibility (curl, proxies, load balancers) without gRPC-specific overhead.

Implementation considerations

  • Schema-first workflow: teams must design the RIDL or JSON schema before backend implementation. Requires discipline and upfront API design.
  • Code generation step in build pipeline: webrpc-gen must run during builds. Integrate into Makefile, CI/CD, or package.json scripts.
  • Handler implementation: generated server code provides interfaces/base classes; developers still write business logic in each handler.
  • Schema versioning strategy: plan for backward compatibility when evolving the schema, especially if clients are externally deployed.
  • Error handling alignment: error codes in schema must map to appropriate HTTP status codes; ensure consistent error contract across generated code.

When to avoid it — and what to weigh

  • High-throughput service-to-service communication — JSON overhead and lack of binary protocol make this unsuitable for latency-sensitive internal services. gRPC or Protocol Buffers are more appropriate.
  • Streaming or real-time requirements — webrpc is request-response RPC. Bidirectional streaming, Server-Sent Events, or WebSocket patterns are not built-in and would require custom implementation.
  • GraphQL-first architecture — If your product strategy centers on GraphQL queries and subscriptions, webrpc's RPC model will create friction; use a GraphQL framework instead.
  • Highly dynamic or unstructured data — webrpc requires upfront schema definition. Schemaless or rapidly evolving data models benefit from manual API design or schema-less approaches.

License & commercial use

MIT License. Permissive OSI-approved license allowing commercial use, modification, and redistribution with attribution.

MIT is a permissive license clearly allowing commercial use without restriction. No proprietary components or copyleft clauses identified in the license. Suitable for commercial products and closed-source integration.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

No explicit security audit or disclosure policy mentioned in provided data. Standard HTTP/JSON surface applies industry best practices for TLS, input validation, and CORS. Generated code does not appear to include built-in authentication/authorization frameworks; teams must implement independently. Requires review of generated code and schema design for application-specific threat modeling.

Alternatives to consider

gRPC + Protocol Buffers

Industry standard for polyglot services with binary protocol efficiency. Better for high-throughput service-to-service communication but less browser-native and requires more infrastructure complexity.

Twirp

Similar schema-driven RPC approach (also JSON-over-HTTP, simpler than gRPC). Smaller ecosystem and fewer language generators compared to webrpc; stronger Golang focus.

GraphQL

Query language approach for flexible client data fetching. Steeper learning curve and different mental model; better for exploratory/dynamic queries, worse for simple CRUD operations.

Software development agency

Build on webrpc with DEV.co software developers

Start with a webrpc schema. Define your API once, generate strongly-typed server and clients across all your platforms. See the hello-webrpc example to get running in minutes.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

webrpc FAQ

Do I have to use RIDL or can I write the schema in JSON?
Both are supported. RIDL is a documentation-like format; JSON is more programmatic. Choose based on team preference. Tools and examples support both equally.
What if I need to change the schema after clients are deployed?
Plan for backward compatibility: add optional fields (`?`), avoid removing fields, use error codes for new failure modes. Regenerate and redeploy server and client code in coordination.
Can webrpc handle authentication and authorization?
Schema supports custom error types. Authentication/authorization logic is implemented in your handler code, not generated. Consider middleware or custom interceptors for cross-cutting concerns.
Is there TypeScript support?
Yes. gen-typescript supports both client and server code generation targeting ES2022+. Kotlin and Dart client generators also available; JavaScript ES6 supported.

Software developers & web developers for hire

Need help beyond evaluating webrpc? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and ai coding agents integrations — and maintain them long-term.

Ready to eliminate API boilerplate?

Start with a webrpc schema. Define your API once, generate strongly-typed server and clients across all your platforms. See the hello-webrpc example to get running in minutes.