Zend Launches Open Source API Builder
Zend unveiled a new open source API-builder project at its annual ZendCon PHP developer conference, underway this week in Santa Clara, Calif. Dubbed Apigility, the builder is "opinionated" software that encourages specific practices for ease of development. 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.
"For the vast majority of people, the fact that it's on top of Zend Framework is really an implementation detail," said Zeev Suraski, CTO and Zend co-founder. "It made sense for us to use a framework so that we wouldn't have to reinvent the wheel -- things database access and routing."
Suraski talked about the growing importance of API-centric design during a keynote discussion of the new project. Mobility is one of the primary drivers of the trend, he said, because so many mobile apps consume information and services from the backend using APIs.
"APIs enable mobile," he said. "... But it doesn't stop there. If you API-enable your app, you can pretty much support any sort of the device, whether it exists today or in the future. So we're not just talking about mobile devices, but tablets, Web sites, machine-to-machine communication and things coming in the future in things like smart watches and Google Glass... If you API-enable your app, you are really future proofing it."
Suraski also suggested that API enablement can create an ecosystem around an app.
"When people hear about ecosystems, they often think, OK that's for the Facebooks and Twitters of the world," he said. "But it's really not just for them. But if you API-enable your code, you may find that another part of the company can suddenly start using data or services, or that your clients or partners can suddenly start using it."
Apigility is designed to do more than just "the simple stuff," such as exposing a RESTful service or am RPC-based service, but to tackle the more challenging aspects of API enablement, Suraski said. The initial version of Apigility comes with a range of features, including:
- 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, that 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 third 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."
Suraski stressed that Apigility is not just a code generator that you use once. It allows users to manage their APIs as requirements evolve. He also said that the company chose to open source the builder because "the developer community is in need of a good, easy, simple way of creating and maintaining APIs. It just made sense to open source it so that it would become a standard of API creation and management." He added that he believes the Apigility project will attract non-PHP users to the PHP ecosystem.
Zend is encouraging contributions to the project and seems to want to nourish the growth of a development community around it. In fact, the company has asked contributors to first focus on authentication and input validation, and on improving the user experience of the user interface.
Zend Technologies is the Cupertino, Calif.-based creator and commercial maintainer of the PHP dynamic scripting language. Zend is run by Suraski and CEO Andi Gutmans, who are key contributors to PHP and the creators of the core PHP scripting engine.
Apigility is available now for free on the Web. It's also hosted on GitHub.