SDK generation plans for the 2.0 release

posted by christoph.kappestein on 2020-07-11

With Fusio we want to create an API platform which helps to easily setup a great API infrastructure. That means it is easy possible to develop/manage an API and also to create an SDK for your customers which helps to work with the API.

SDK generation is a hot topic for our 2.0 roadmap. We are working for a long time in the background to create a system which lets you easily generate solid client code. As end goal we want to generate the client based on the defined request and response schema formats. Currently Fusio uses JsonSchema but we have experienced the limitations of JsonSchema and code generation.

Therefore we have started to build a new schema format called TypeSchema. In fact it is not a new schema format, it basically a stricter version of JsonSchema with some optional new keywords. It is easily possible to convert a TypeSchema to a JsonSchema but not vice versa.

For the Fusio 2.0 release we plan to migrate the complete schema definition to TypeSchema. This will allows us to easily generate client code and all sorts of other definitions. This will also allow us to create more Fusio SDK in different languages i.e. go, java, c#, etc.

The implications are that some JsonSchema constructs will no longer work. If you want to prepare for the 2.0 release you can take a look at our migration document to see whether your schema is affected.