← Previous · All Episodes · Next →
Custom codegen for SDKs Episode 16

Custom codegen for SDKs

· 41:31

|
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
  • Swagger codegen: https://swagger.io/tools/swagger-codegen/ 
  • Orbit Ruby Activities gem: https://github.com/orbit-love/ruby-orbit-activities

View episode transcript


Creators and Guests

CJ Avilla
Host
CJ Avilla
Developer Advocate @StripeDev. Veteran. 📽 https://t.co/2UI0oEAnFK. Building with Ruby, Rails, JavaScript
Colin Loretz
Host
Colin Loretz
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.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music
← Previous · All Episodes · Next →