The rise of API languages
Over the past few years, API languages have emerged. They let you formally describe web APIs and generate useful artifacts from both an API provider and API consumer point of view. Today, the leading languages are API Blueprint, RAML, Swagger, but there is no clear winner at this stage as each tackle the problem from a slightly different angle. WADL also pioneered API languages, but lost traction over the past years.
API code editors and Studio inception
To let API developers document APIs or create new ones, each of the leading API languages provides a special web based code editor.
Each of them requires you to choose the API languages you will use moving forward and to learn its syntax in JSON, YAML or MarkDown, then offers additional features such as a visual live preview of the API documentation and sometimes code generation.
When looking at the state of API design languages a year ago to prepare a presentation for APIdays presentation, I identified several issues:
- 1) API languages available and their editors require you to write API definitions using specific textual syntax to get started,
- 2) API Blueprint, RAML, Swagger or WADL in the end express a very similar information model on web API definitions,
- 3) There is no clear API language winner yet, so it is difficult to select one to get your API project started,
- 4) API design tools should use modern browsers capabilities including local persistence, offline mode and Chrome app packaging.
A cross-language visual tool for API design
Restlet Studio provides a web console that lets you visually craft web APIs. No need to learn Swagger or RAML syntaxes in JSON or YAML to get started, Restlet Studio generates them for you in addition to server skeletons to bootstrap your API implementation and client SDKs to facilitate the consumption of your API.
Visual design tab:
Source code tab:
As highlighted by Kin Lane (API Evangelist) in his blog post, Restlet Studio provides the first cross API language editor, with initial support for RAML and Swagger.
How is it built?
Restlet Studio runs in modern browsers from http://studio.restlet.com. It can also be installed as a packaged app from the Chrome Store. It works off-line and saves APIs in the local browser data store.
Technically speaking, it is written in Angular/JS, embedding the ACE code editor for syntax coloring. Generation services are powered by APISpark (Restlet API PaaS).
What’s coming next?
Beyond this first preview version, here are the features we are planning to add on our API design tool:
- 1) import of API languages, facilitating the conversion for example from Swagger 1.2 to Swagger 2.0 or to RAML 0.8,
- 2) modifiable code views, synced with other views,
- 3) more code generators, keeping up-to-date with tooling progress in Swagger and RAML communities,
- 4) support for API Blueprint, API Commons, APIs.json, WADL
- 5) work and persistence of multiple APIs,
- 6) sharing of APIs definitions with other API team members or with API users through APISpark online platform,
- 7) your ideas!
At Restlet, we are excited about the feed-back we got so far from early testers and about the opportunity to shape with the API community a new kind of IDE, web-based and specialized for API creation.
Discuss Restlet Studio in the HackerNews community