Introduction
Apify is a small and powerful open source library that delivers new levels of developer productivity by simplifying the creation of RESTful architectures. It helps development teams deliver quality web services and applications in reduced amounts of time. If you are familiar with the Zend Framework, then you already know how to use Apify. Take a look at the UsersController class.
Web services are a great way to extend your application, however, adding a Web API to an existing web application can be a tedious and time-consuming task. Apify was developed to ease that pain. It takes certain common patterns found in most web services and abstract them so that you can quickly write Web APIs without having to write too much code.
You can see it in action here: http://www.youtube.com/watch?v=7ptoB0yCsDo
Features
- Small and simple web application.
- Easy to install, easy to use and easy to extend.
- Powerful to satisfy most requirements.
- Standalone. Works with any existing website (just unzip the files to your server and it's ready to use).
- Supports the following API styles: Twitter, Delicious, Scribd, Yahoo! Upcoming, Microsoft Zoom.it, and more.
- OOP-compliant architecture.
- Explicit Request and Response classes.
- RESTful URL mappings.
- Easy API versioning.
- Out of the box support for the following representations: JSON, XML, RSS and HTML.
- Content type negotiation.
- Encourages proper use of HTTP response codes.
- Domain models with out-of-the-box default implementations and input validation.
Documentation
Demo
The following Apify web application/service allows users to submit posts, vote and add comments.
URL scheme:
- http://apifydoc.com/posts
- http://apifydoc.com/posts/new
- http://apifydoc.com/posts/1/edit
- http://apifydoc.com/posts/1/vote.json
- http://apifydoc.com/posts/1/comment.json
Representations:
- http://apifydoc.com/posts
- http://apifydoc.com/posts.json
- http://apifydoc.com/posts.rss
- http://apifydoc.com/posts/popular
- http://apifydoc.com/posts/popular.json
- http://apifydoc.com/posts/popular.rss
Reporting bugs
We use GitHub as issue tracker. Bug reports are incredibly helpful, so take time to report bugs and request features in our ticket tracker.
Contributing
The best ways to contribute are by finding and reporting bugs, writing tests for bugs, and improving the documentation. We're always grateful for patches to Apify's code. If you want to change the code, be careful follow our design-decisions. Be especially careful not to increase complexity if you don't have a really good reason.
Contact
- If you encounter any problems, please use the issue tracker.
- For updates follow @fedecarg on Twitter.
- If you like Apify and use it in the wild, let me know.
License
- Copyright (c) 2011, Kewnode Ltd. All rights reserved.
- http://kewnode.com/apify/license (ASL 1.1. derived)