Rapid Api Prototyping

Preview:

DESCRIPTION

How many of you have created an API? But how many created a good API? A good API is like a good meal, makes developers extremely happy with a belly full - and for some companies who are API first having a simple, documented, reliable API is crucial. When developers complain about your API it is maybe because you didn't design it well enough - intentions are surely important but design is king. The Rapid API Prototyping talk, is all about bridging the gap between thinking and doing with focus on best practices, tooling and tricks to make developers LOVE your API at first sight.

Citation preview

@orliesaurus

RapidAPIPrototyping

Do it right!

@orliesaurus

Building a good API is hard

@orliesaurus

@orliesaurus

API Development LifeCycleDesign

MockTest

BuildRelease

Maintain

@orliesaurus

API Considerations

AuthenticationVersioning

Sync/ASyncPagination

CachingRate-Limiting

@orliesaurus

API Considerations

XML vs JSON NomenclatureError Msgs (HATEOAS)

@orliesaurus

YOU HAD ONE JOB

@orliesaurus

Mocking

WADL -> XMLSwagger -> JSONIODocs -> JSONRestDoc -> JSON

APIBlueprint -> MarkdownRAML -> YAML

@orliesaurus

Clean Example: RAML/beers: /{beerName}: get: description: Retrieve a specific beer responses: 200: body: application/json: example: | { "data": { "id": "b33rg00d", "name": "Duvel", "description": "A nice belgian beer”, "datetime": 1341533193, "genre": "Belgian", "producer": "DUVEL INCORPORATED", "label_img": "https://s3.amazonaws.com/beerbrah/uploads/images/525446/duvel.png", }, "success": true, "status": 200 }

@orliesaurus

APIs are for Automa..Humans

@orliesaurus

Rails/Rails-Api

Express (Node)

Node-Restify

Flask(Python) / Flask-Restful (thx Twilio)

Falcon (Python)

Pecan (Python)

Werkzeug(Python)

Interfake (Node - @basicallydan )

slimframework (PHP)

Laravel (PHP)

@orliesaurus

Hello Humans,We’re here to help

HTTPie - cURL for humans

POSTman - Chrome addon

Advanced REST Client - Another addon

CocoaRESTClient - Mac ONLY

@orliesaurus

CHOOSE WISELY

@orliesaurus

Success ain’t easy

@orliesaurus

Value

@orliesaurus

“An API should only do one single thing and do it extremely well”

Value

@orliesaurus

Ease of use = (Best Practices + Documentation + Code Snippets)

Value

@orliesaurus

Testing and Performance(Keep an eye on the metrics)

@orliesaurus

PerformanceScalability

Value

@orliesaurus

Don’t be that API company

@orliesaurus

#ILLUMINAPI

@orliesaurus