This is the description (and slides) from the talk I gave at the toster.ru conference in Moscow.
The main point of the talk is to go through every major design decision around API design, so both API producers and consumers know what to offer or expect from a well designed REST API.
REST APIs are essential in any modern web application. It’s currently a trend not to build Web Apps but Platforms. A good REST API is the core of the platform, where web apps, mobile apps, 3rd party integrations, etc. can just use as its brain.
Some of the concepts the talk goes around are: HTTP, REST, URI, metadata, representations, security, versioning, pagination. These are all relevant aspects of a good REST API design. After that, some tips about implementation and deployment are thrown to the mix. Finally, scaling is mentioned as a key challenge a successful API will find. Horizontal scaling, HTTP cache, application cache, database replication and asynchrony are mentioned as possible methods to help the scaling of an API, although the design will still carry most of the responsability to decide if an API can scale easily or not.
Watch the talk dubbed in Russian:
Download the PDF or see it embedded here: