On the importance of APIs

There's a good chance that your project is going to need some sort of API to connect up your backend layer or data store to your frontend interface (be it web-based or otherwise). But APIs are hard, right? Not any more! Where once we used to have to roll our own APIs and handle the lowest level operations ourselves now there are a bevvy of tools and resources to help you make an awesome API quickly.

APIs as a Service

Services like Mashery, Apigee, ApiAxle, and 3scale provide a quick and easy means to bootstrap your API and provide a range of neat features on the side like analytics and easy inspection and diagnosis of API errors.

Building and designing your own API

If you need to dig a little further down and actually build your own API it's worth taking a bit of time to think about the design of your API. There are some great resources are such as the API Evangelist's guide to Providing and Consuming APIs and Atlassian's REST API Design Guidelines.

apiblueprint is well worth a look as a tool that provides both a means of quickly designing an API, as well as automatically generating nice looking documentation.

Documenting your API

Documenting your API well is crucial if you expect anyone else to use it (including other developers on your team) and the tools available are myriad.

For REST APIs in general check out Swagger or iodocs. In PHP-land Symfony (see also - REST APIs with Symfony2: The Right Way) and Slim are worth a look

In Rails-land take a look at Apipie-rails.