In this episode of Build and Learn, we discuss code generation (codegen) and how Stripe uses it to generate SDKs for its APIs automatically. We talk about how a declarative shape of an API (such as Open API spec or GraphQL schema) can be fed into a tool to generate an SDK in a specific programming language. This process helps ensure that the SDKs are always in sync with the API and that any changes to the API are automatically reflected in the SDKs.
Most SDKs today are still hand-written, but automatic generation is becoming more popular. We'll touch on the tradeoff between readable code and automatically generated code, which can be quite long and complex. You'll also hear how the Ruby clients for Orbit were likely written by hand and may not be up-to-date.
Resources:
Richard Marmorstein's Strangeloop talk about codegen: https://www.youtube.com/watch?v=mgRreyw-Nlg
CJ's RubyConf 2022 talk about codegen: https://www.youtube.com/watch?v=sm0fgIqfsO8
Stainless API company: https://stainlessapi.com/
Open API Spec: https://swagger.io/specification/
Stripe API Spec: https://github.com/stripe/openapi
I like to build software and communities. Building software at @orbitmodel 🪐 Coworking at @renocollective 🎙Sharing software learnings on @buildandlearn_
Subscribe
Listen to Build and Learn using one of many popular podcasting apps or directories.