
Ask HN: Compare AutoRest, Apimatic and Swagger Codegen - AaronKJohnson
Has anyone used AutoRest[1], Apimatic[2] or Swagger Codegen[3] to generate REST API clients in different langauges for production use? How&#x27;s your experience so far?<p>Doing a simple Google search reveals the following comparisons, which seem outdated already:<p>http:&#x2F;&#x2F;blog.jongallant.com&#x2F;2015&#x2F;09&#x2F;api-sdk-generators.html
http:&#x2F;&#x2F;apievangelist.com&#x2F;2015&#x2F;06&#x2F;06&#x2F;comparison-of-automatic-api-code-generation-tools-for-swagger&#x2F;<p>Thanks!<p>[1] https:&#x2F;&#x2F;github.com&#x2F;Azure&#x2F;autorest
[2] https:&#x2F;&#x2F;www.apimatic.io
[3] https:&#x2F;&#x2F;github.com&#x2F;swagger-api&#x2F;swagger-codegen
======
cliffano
I've been using Swagger Codegen for the past few months, working on client
SDKs in Ruby, Python, Java, and JavaScript.

The biggest thing that impressed me was how active the community was. My pull
requests were responded quickly, probably fastest compared to other open
source projects I contributed to in the past.

------
OmarShehata
I've worked on generating SDK's for a small startup last summer. I haven't
tried AutoRest but I dabbled with ApiMatic and Swagger and ultimately went
with Swagger.

The biggest thing for me was that, while ApiMatic has a lot of really nice
tools and options, I couldn't find any way to customize the actual generated
code. With Swagger, all of the templates are community made and freely
available, and it uses mustache templates, so it makes it really easy to
customize.

This was important for my company because we had some custom options we wanted
the SDK to handle that weren't necessarily reflected in the API, and
convenient helper functions for authentication.

I think the community part is definitely a huge plus for Swagger.

------
roni-frantchi
Haven't looked at [1] or [2], but have been using Swagger Codegen [3] for the
past 6 months or so on a new project.

Have myself contributed to swagger-codegen a template for generating Angular 2
files which was merged pretty quickly and is still being wonderfully
maintained by what strikes me as a great community.

What we did works great for us - strong types on the client side matching the
ones on the server minimizes integration tests required to enforce even the
slightest model changes.

------
philicious
I'll simply link to a blog post I recently did for Dreamfactory that also
contains my experience as a Platform Architect with swagger-codegen in
production [http://blog.dreamfactory.com/generating-dreamfactory-
client-...](http://blog.dreamfactory.com/generating-dreamfactory-client-sdks-
based-on-swagger-api-definitions)

------
pjmolina
I've worked with swagger in the last 2 years. It was a huge win for
simplifying server to mobile integration issues. In this scenario, after
creating the contract with Swagger-Editor, Swagger-codegen was my choice for
creating skeletons for the server in NodeJS and Java, and proxies on the
client side for AngularJS, Android & iOS.

