An API has proven to be a fabulous technique to introduce a specific functionality to an external application in a secure manner. It is a great way to address the present challenge of using technology to cater to multiple devices, form factors, and browsers, to access web and mobile applications.
When we talk about Zend specifically, there is a lot of action happening on how API-centric web applications are created and deployed.
With the announcement of the new open source Apigility project at ZendCon 2013, the PHP Company intended to make it easier for developers to create APIs. Within a year, Zend has brought about extensive changes to the platform architecture with a new update that rolled out a stable version packed with powerful features. These improvements sought to ease the life of a software developer by facilitating the creation of RESTful APIs.
API-first web development is what the world is leaning heavily towards. Having this platform available for Zend programmers makes PHP web applications suited to today’s shift in technology dynamics. As a result, developers can innovate better and present immense value to clients with help of Apigility.
Key Elements of Apigility
The Apigility project consists of 3 main components
1. A ZF2 based module that does most of the work of API creation
2. An application wrapper to facilitate web applications that function independently
3. An administration module to configure the development environment
Be it creating a totally new API, or connecting an API to an existing application, Apigility can easily handle both cases.
Features of Apigility
1. REST & RPC based – Developers can now utilize the full range of web services with help of REST and RPC
2. Credential based – APIs can now be authenticated with use of credential based sign in
3. Documentation made easy – The API development process can now be documented, and hence provide immense value to developers
4. Error handling – A server side error can be easily tracked, corrected and monitored
5. Data Validation – The platform provides the capability to inspect the data and report error as it happens
6. Versioning – Version negotiation becomes very easy as multiple developers can work simultaneously with new and old versions of the API
7. Content negotiation – API validates the type of content submitted to a data field and alerts user when the type and expected input do not match.
How do ZF2 developers benefit?
Apigility is designed such that developers who have only basic knowledge of PHP can still extract productive value from the platform. This is enabled by an easy to use web interface provided with administrative privileges. Both amateur and professional developers can quickly and easily create robust and high performance APIs. However, Zend Framework 2 developers have a definite upper hand in this case, because of the obvious reason that many modules are developed based on ZF2 programming (‘obvious’ because it comes from the Zend company).
Is it commercially viable?
Opinions in the development world are very positive when it comes to determining the practical value of adopting Apigility to the current software development realm. As mentioned before, the platform handles most of the heavy lifting such as content negotiation, validating of versioning, error handling, and documentation. Thus, most of the work is already done for the developers. This way they can concentrate on doing what they love the most – software programming and application development.
Getting started with Apigility
When you are building a new API from scratch, it is worth starting with downloading the Apigility Skeleton, and going through the instructions in the README. You will be presented with an admin module that you can use to build your APIs.