Code Generators

Generating the code for high-quality client libraries to access services described in API Builder is one of our primary goals. API Builder supports client generation in mulitple languages, and depending on community interest additional languages can be contributed over time.

We spend a lot of time designing exactly how we want developers to interact with the client libraries, and are proud of how simple the current client libraries are to use and read. A few specific principles guiding our work:

  1. Minimal Dependencies: Where possible, we prefer client libraries that use native dependencies of web frameworks (e.g. clients for Play Framework that require zero additional dependencies). Where impossible, we take extra care to minimize needed dependencies and to use the most standard dependencies possible.
  2. Readability: Each client library is first written by hand. We then automate the generation of that hand-written client. The goal is to make the generated client indistinguishable from a hand-written one. We will never reach 100%, but we believe we are very close.
  3. Single File: When you download a client from API Builder, you will download one fully contained, fully functional file. This makes it simple to either drop the file directly into your project, or to build a library with the standard tooling necessary to share the client.

Notes for Play 2.x Client

Notes for Ning Client