Product Updates

Announcing: EasySDK Generator

Sagar Batchu

Sagar Batchu

August 31, 2022

Featured blog post image

What We’ve Built

We’re excited to announce that we are publicly launching an SDK generator (opens in a new tab) that improves upon the OpenAPI service (opens in a new tab).  In our view the biggest problem with the OpenAPI generator was that it produced client libraries that were untyped and unopinionated. That’s why last week we focused on building a generator that is able to handle typing correctly and is opinionated about what makes for a good SDK:

  • Low-dependency - To try and keep the SDK isomorphic (i.e. available both for Browsers and Node.JS servers), we wrap axios, but that’s it.This is intended to be idiomatic typescript; very similar to code a human would write; with the caveat that the typing is only as strict as the OpenAPI specification.
  • Static Typing - At this point static typing is everywhere. So wherever possible, we generate typed structures, construct path variables automatically, pass through query parameters, and expose strictly typed input / output body types.
  • Language idiomatic & opinionated - There’s value in being neutral, but we felt like there is more value in being opinionated. We’ve made choices for how things like Pagination, Retries (Backoff/Jitter etc), Auth integrations, should be handled in the SDK.

Why We Think SDKs Are Important

A good developer experience means flattening the learning curve by meeting developers where they already; that’s why every company with an API platform should strive to offer SDKs for integrating with their APIs.  Language-idiomatic SDKs improve user productivity by removing the need for writing the boilerplate required to send API requests and parse response objects.  Companies that offer SDKs get faster adoption, spend less time troubleshooting, and provide an overall better developer experience.

We look forward to hearing from the community what they think of the service. We’d love to know what else people would want to see included in an SDK, and what languages we should support next.