3 ms·
I recently wrote a blog to help teams decide between writing the SDKs for their APIs by hand or generating them using a code generator: https://www.apimatic.io/
by m3h 5y ago
I recently wrote a blog to help teams decide between writing the SDKs for their APIs by hand or generating them using a code generator: https://www.apimatic.io/blog/2021/09/the-great-sdk-battle-build-vs-buy/ https://www.apimatic.io/blog/2021/09/the-great-sdk-battle-bu...
TLDR: There are a good many technical challenges to creating high-quality SDKs in multiple languages for a medium to large-sized REST API and most teams seem to underestimate the amount of effort required to build and maintain SDKs. The speed and savings from code generation is quite compelling and a modern commercial code generator like APIMatic has a wide-enough feature-set that most REST APIs don't require writing SDKs by hand anymore.
Disclaimer: I am a contributor to APIMatic Code Generator.
- mattzzz 5y agoDoes apimatic use the following open-source code generators or it builds a proprietary code generator from scratch? Swagger Codegen: https://github.com/swagger-api/swagger-codegen https://github.com/swagger-api/swagger-codegen OpenAPI Generator: https://github.com/OpenAPITools/openapi-generator https://github.com/OpenAPITools/openapi-generator AutoRest: https://github.com/Azure/AutoRest https://github.com/Azure/AutoRest NSwag: https://github.com/RicoSuter/NSwag https://github.com/RicoSuter/NSwag oapi-codegen: https://github.com/deepmap/oapi-codegen https://github.com/deepmap/oapi-codegen go-swagger: https://github.com/go-swagger/go-swagger https://github.com/go-swagger/go-swagger
- m3h 5y agoNo, we built our first code generator from scratch in 2014 [1]. I don't think most of these projects existed at the time. Our current CodeGen has always been written-from-scratch, propriety code. Our focus is also a bit different from these projects: we aim to cover as much of the OpenAPI format feature-set while generating consistent, high-quality, well-designed SDKs (should be as good as a good engineer can produce). To complete the Developer Experience of the API, we also generate complete API documentation site as well [4]. Back in 2014, OpenAPI didn't even exist. The latest API specification format was Swagger 1.2 and it was not very mature at that point. We had to build a lot of vendor extensions to cover the various REST API use-cases that API folks take for granted today. Today, we also run the most-used API Spec format convertor tool in the world by the name of API Transformer [2]; this tool has helped a lot of companies migrate from an older spec formats like OpenAPI 2 and RAML to OpenAPI 3. We support nearly all API specification formats including RAML, OpenAPI (2., 3.), Blueprint, Postman, WADL and more.[3] [1] https://www.apimatic.io/about/ https://www.apimatic.io/about/ [2] https://www.apimatic.io/transformer/ https://www.apimatic.io/transformer/ [3] https://docs.apimatic.io/api-transformer/overview-transformer/#supported-input-formats https://docs.apimatic.io/api-transformer/overview-transforme... [4] https://www.apimatic.io/developer-experience-portal https://www.apimatic.io/developer-experience-portal