eBay has launched ql.io, a programming language to make it simpler to make data calls over the Web.
The new language, called ql.io, bundles separate API requests into a single call, and reduces the number of lines of code that are needed to retrieve data across the Web.
Developers creating apps that retrieve data often have to make multiple API calls, and as eBay developer Subbu Allamaraju points out, this is a pain. In a blog post on the topic, he gives the example of a client app that needs to search a list of products to get their IDs, some details and some user-generated content like reviews for each product.
There are three APIs that the client needs to interact with to get this data – one to search products, one to get details for each product, and another to get reviews for each product. ql.io is designed to provide an alternative where requests such as these can be grouped into a single request that the Web server parses, then sends back the results in a single bundle.
The ebay techblog post announcing the launch describes ql.io as a declarative, evented, data-retrieval and aggregation gateway for HTTP APIs. It goes on to say that ql.io can reduce the number of lines of code required to call multiple HTTP APIs while simultaneously bringing down network latency and bandwidth usage in certain use cases.
ql.io consists of a domain-specific language inspired by SQL and the JSON data interchange format, and a node.js-based runtime to process scripts written in that language.
You can download the source from Github and examples and documentation and a console where you can try it out are at qi.lo.
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter or Facebook or sign up for our weekly newsletter.