Zend Launches Free Apigility API Builder for PHP
Apigility, unveiled last October at the ZendCon PHP developer conference as an open source project, is designed to simplify the process of designing and implementing APIs with support for advanced API traits, such as versioning, validation, error handling and documentation, among others.
Apigility is "opinionated" software that encourages specific practices to make API development easier. It runs on the company's PHP-based Zend Framework, essentially providing an interface that allows developers who don't know the framework to leverage its capabilities to create APIs with REST and RPC services.
"We took the opinionated approach because we wanted to make developing really nice, robust, very standards compliant APIs dead simple for developers," said Matthew Weier O'Phinney, lead of both the Apigility Project and the Zend Framework. "We've taken away the necessity of spending more time on trying to figure out what architecture you're going to use than on actually building the API you need to expose. Apigility is out there to make those decisions for you so you can just dive right in to making an API."
API-based architectures have become the key to "future proofing" applications," O'Phinney told ADTmag, because an API-enabled app can support just about any type of device, from a smart phone to a tablet, a pair of Google Glass specs to a system utilizing machine-to-machine communication. And, of course, Web sites. By automating some of the API-creation process, Apigility allows developers to build APIs that enable mobile apps, developer communities, and "any other consumer-controlled access to applications," he said. Developers can use Apigility to add authorization and authentication to their APIs and to "evolve" their APIs as requirements change.
Agility also supports up-front documentation. "No more of this, I'll just tack on the documentation at the end," O'Phinney said. "We've made sure that you can do documentation from the beginning. A lot of the stuff we're capturing as you design your API becomes documentation, but then you can also go in and explain things within the UI and expose that documentation to your end users right off the bat, so that they know exactly what to expect as they're consuming the API."
The list of top capabilities to emerge in this version of the API builder includes:
- An error-handling capability that immediately reports a server side error to the API consumer, and provides detailed problem reports to developers, so they can parse and understand what happened, "rather than remain mystified as to the source of their API error and spend hours finding it," the company said
- Validation of functionality for end users and data coming into an API. If it's not valid, Apigility sends a single response, in a predictable format, which returns all errors. "API consumers know upfront when they did something wrong," the company said
- A "content negotiation" capability that allows developers to know immediately when something is wrong with submitted data. Apigility verifies whether each client is capable of viewing an application, and whether data submitted to an API is of an acceptable content type. "As a result, APIs become simpler for 3rd parties and partners to work with," the company said.
- Support for multiple versions of the same API, with added, altered or removed services. This feature also makes it possible for developers to support both old and up-to-date clients at the same time, while fully automating version negotiation. "The user interface allows developers to manage all versions of the API from one centralized place," the company said, "and provision new versions as needed."
Zend Technologies is the Cupertino, Calif.-based creator and commercial maintainer of the PHP dynamic scripting language. The company was co-founded by CEO Andi Gutmans and CTO Zeev Suraski, who are key contributors to PHP and the creators of the core PHP scripting engine.
Apigility is available for download here.