3 ms·
Swagger may claim to be polyglot, but it seems really Java focused to me and I've yet to see an implementation for another language, particularly one that's dif
by curun1r 12y ago
Swagger may claim to be polyglot, but it seems really Java focused to me and I've yet to see an implementation for another language, particularly one that's difficult to analyze statically (the power of swagger is the ability to generate the majority of the API documentation from code and annotations, something not possible in dynamic languages), that's not a huge train wreck. Solutions like http://apiblueprint.org/ http://apiblueprint.org/ and http://raml.org/ http://raml.org/ are much more language-neutral than Swagger.
- alexatkeplar 12y agoRuby support for Swagger: https://github.com/richhollis/swagger-docs https://github.com/richhollis/swagger-docs https://github.com/tim-vandecasteele/grape-swagger https://github.com/tim-vandecasteele/grape-swagger JS support for Swagger: https://github.com/wordnik/swagger-node-express https://github.com/wordnik/swagger-node-express https://github.com/wordnik/swagger-js https://github.com/wordnik/swagger-js PHP support for Swagger: https://github.com/zircote/swagger-php https://github.com/zircote/swagger-php Etc. Sure Swagger is fairly opinionated about what a RESTful API should look like, but claiming it's Java-focused is off the mark.
- curun1r 12y agoI don't use Ruby or PHP, but the JS support is laughable. Getting it to even work is a challenge (the code is pretty terrible) and the code they force you to write is ugly, overcomplicated and unlike an idiomatic node API code. The Python support is somewhat better, owing to Python's annotations. But there are languages like C++ and Rust that are completely unsupported. But you can't be language-independent if you require specific languages features that aren't present in all languages and require specific language integrations that need to be written for every language. Options like the two that I mentioned before are actually language-independent.
- alexatkeplar 12y agoInteresting, I'll take another look at RAML. I have to confess I found it a bit weird that when we started with Swagger that we couldn't start "schema first" (i.e. just describe the API in a doc, but instead had to start with the annotations). I guess that's part of the wider problem you describe.