Swagger and Apiary are two of the most popular tools used by software developers to build, consume, design and document RESTful web-based services. However, while Swagger is opensource Apiary isn’t. Though choosing between the two can be difficult, but there are subtle differences worth nothing, that’s what we’ll explore in this article. When considering Apiary Vs. Swagger, there are also a number of things worth considering as a developer or software development company.
What is Swagger?
Tony Tam originally created swagger API project in 2011. He developed a product called Wordnick’s products, and during its development, he found that API documentation and SDK generation was frustrating. That led to Tam designing a very simple JSON representation of the API, mainly building upon REST’s flexibility and using many tools and features of the SOAP protocol.
Today Swagger is an open source software framework that happens to be backed by a vast ecosystem of tools which helps developers of all types to build, document an design RESTful services. Though Swagger is best recognizable from its UI, the toolset of automated code generation, test case generation, and auto-documentation make it stand out.
Mainly supported and sponsored by SmartBear Software, it is a project strongly supported by the Open Source community.
What is Apiary?
Apiary more appropriately referred to as Apiray.io is a suite of hosted tools that help businesses build their web APIs swiftly. It allows them to monitor, and test as well as document each product easily. API owners have access to the necessary infrastructure which helps them build relationships with users.
At the core of this solution is the API Blueprint, which is an efficient format for mainly describing an API, and aspires to be the premium gold standard for all REST API development. Blueprint is used to streamline adoption of all new services via its simple integration into other systems. However, Apiary has found it difficult in the past to convince Swagger users to move over to the platform.
Apiary Offers Limited Swagger Functionality
Up until lately, Apiary has only been using one language, i.e. API Blueprint. However, the service recently became capable of using Swagger too. Currently, support for Swagger in Apiary is in its beta phase. Also, the company is continuing to further develop API Blueprint. Apiary has introduced many so-called game-changing features like MSON.
Swagger does not support all Apiary features. The company acknowledges that there is a lot of work to do and a long way to go. However, testing and validation support have rolled out. In the future, there is a plan to have a way for developers to move in between both languages. So, users can choose the description language they want and use Apiary as more of a design platform.
Future Developments with Swagger
Swagger has moved their specifications to OpenAPI, which is an opensource industry effort to find a way for interoperability between all API tools. Apiary has yet to join the OpenAPI Initiative, but that may happen soon according to experts. Incidentally, OpenAPI is primarily based on Swagger 2.0 specifications and Apiary supports Swagger 2.0.
Conclusion
The choice between Swagger and Apiary all boils down to the type of project you’re working on. In the near future it may all boil down to what you think will work best for your project or what you think its more efficient. However, those who want to switch between both languages will find Apiary a better choice despite Swagger being more intuitive with its user-friendly interface.