# webrpc

A schema-driven framework for defining a web service's API once and generating matching, fully typed server and client code in Go, TypeScript, JavaScript, Kotlin, Dart, Swift, and OpenAPI.

webrpc lets a developer describe a web service's API in a schema, written in its own RIDL format or in JSON, and then generates the networking code for both server and client from that single definition. The generator produces base class types and interfaces, JSON encoders, and networking code, giving fully typed client libraries without hand-writing an API client.

Code generators exist for Go, TypeScript, JavaScript, Kotlin, Dart, and Swift clients, with server generation for Go and TypeScript, and partial support for generating an OpenAPI 3.0 schema. Generators are implemented as Go templates, similar to Hugo or Helm, so new targets can be added.

A VS Code extension provides syntax highlighting for the RIDL schema format.

Website: https://webrpc.io
