Tools to develop APIs

Tools to develop APIs

The development market in recent years stares a magical key to almost all doors: APIs. Restlet Studio, Swagger, API Blueprint, RAML and Apiary are some of the platforms and tools used by development teams all over the world to design, develop, test through automated mock-ups, and document APIs, facilitating product programming for third parties and generating revenue. 

 

BBVAOpen4U
|
21 Jun. 2019

The development market in recent years stares a magical key to almost all doors: APIs. BBVAOpen4U has explained how to measure the performance of application programming interfaces; described their advantages; explained how developers can organize a large depository; and also how they influence the Internet of Things and wearables. But we haven't explained from to program an API from scratch.

To do this, developers can use platforms, tools and languages to design, develop, test and document their own APIs and, as a result, facilitate product programming for third parties and generate revenue. There are currently several leading options: Restlet Studio, Swagger, API Blueprint, RAML, Mockable.io, Loader.io, BlazeMeter and Apiary. There are other tools but these are the most well known among the community.

Here is a description of some of them:

Restlet: Platform as a Service for APIs

Restlet is an Integrated Development Environment (IDE) where Java programmers can design their own web APIs based on REST architecture (REST APIs). They can develop server- and client-side applications and Restlet is compatible with HTTP, HTTPS, XML and JSON. This development framework is open source, free to download and under Apache license. There are several pricing plans: one is for free and the others are paid. With the first, you can develop one API; the most expensive plan has no restrictions.

Restlet Studio is available for all platforms (Java SE/EE, Google App Engine, Google Web Toolkit, OSGI and Android). All APIs that are developed using Restlet Studio can be integrated with APISpark, Restlet's Platform as a Service (PaaS) for hosting and managing APIs by any developer in any type of language, e.g. Java, PHP, Node.js or HTML, and in any framework, e.g. as AngularJS, etc. Jerome Louvel, CTO and founder of Restlet and Talend, explained the basic characteristics of APISpark in an interview with InfoQ in November 2014. 

Two main points with regard to developing APIs using Restlet Studio:

● Restlet's development framework offers a series of classes and interfaces which you can use to design your own APIs.

● Guaranteed scalability irrespective of the number of requests. 

Swagger: the most popular API framework

Swagger is currently on version 2.0; it is an open-source framework; and it is used by very important platforms and customers such as Apigee, Getty Images, Microsoft and PayPal. Swagger has allowed them to develop their own RESTful APIs. What is Swagger? A series of tools for programming application development interfaces in virtually every development language and environment.

Swagger's tools include:

● Swagger Editor: edit API specifications in YAML (YAML - Ain't Another Markup Language). YAML is a light markup language. It is a data format inspired in languages such as XML and Python that focuses more in data and less in document markup. To execute it locally in a workstation with Node.js use this command:

git clone https://github.com/swagger-api/swagger-editor.git
cd swagger-editor
npm install
npm start

● Swagger UI: collection of HTML, JavaScript and CSS assets that allow you to dynamically generate documentation and a sandbox for any API compatible with Swagger. Since it has no specific dependency, the user interface can be hosted in any server as well as locally.

● Swagger Core: implementation of Swagger in Java. Series of open-source Java libraries that can be found in GitHub. Here you find a lot of specific documentation for developers.

API Blueprint: documentation for APIs

API Blueprint is a language based on Markdown (light markup language) which is mostly used to document any API in a simple way. For API developers, what's really interesting about API Blueprint is the tools that work as its satellites.

The most intriguing of these tools is Dredd (a reference to the movie character Judge Dredd) which allows you to test a backend service from the API's documentation. As a result, you can solve document update issues. It supports all types of languages, e.g. PHP, Python, Ruby, Perl, Node.js and Go.

Another interesting tool is Drakov, which allows you to launch mock-up services to run tests with requests and responses tailored to the API documentation. In other words, this is a test bank. To starting working with API Blueprint you can read this tutorial.

RAML: full API management

RAML stands for RESTful API Modeling Language. Its aim is to facilitate API life cycle management, from design and development to use by third parties (testing and documentation). It stresses the use of a language that is easy to interpret by both developers and machines.

RAML allows you to develop APIs in several types of syntax: Node.js (JavaScript), Java, .NET and Python. It also offers a wide range of tools for testing application development interfaces with RAML: Abao, a command line tool in Node.js to test API documentation written in RAML; Vigia; and Postman, Google Chrome extension that is very popular among developers due to its simplicity. It tests APIs through requests, i.e. GET, POST, PUT, PATCH and DELETE.  

 

Apiary: your own API in 30 minutes

It sounds a bit risky but Apiary promises to offer developers all the tools they need to create their own API in 30 minutes. It takes over the entire life cycle of an application development interface: design and development, automated mock-ups, validation, proxies, documentation, etc. Apiary offers all you need to have an API.

Apiary provides mock servers to DevOps teams so that they can run tests and mock-ups before encoding an API, something like wireframes in user interfaces. Before you start designing, it's a good idea to plan so that you determine your actual needs and then assign the right number of resources to the project.  

If you are a developer and are interested in APIs, you can try the sandbox and BBVA Financial APIs

Sign up!

Sign up to the BBVAOPEN4U newsletter and receive tips, tools and the most innovative events directly in your inbox.