rapid api prototyping

22
@orliesaurus Rapid API Prototyping Do it right!

Upload: mashape-the-cloud-api-hub

Post on 01-Jul-2015

275 views

Category:

Engineering


5 download

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.

TRANSCRIPT

Page 1: Rapid Api Prototyping

@orliesaurus

RapidAPIPrototyping

Do it right!

Page 2: Rapid Api Prototyping

@orliesaurus

Building a good API is hard

Page 3: Rapid Api Prototyping

@orliesaurus

Page 4: Rapid Api Prototyping

@orliesaurus

API Development LifeCycleDesign

MockTest

BuildRelease

Maintain

Page 5: Rapid Api Prototyping

@orliesaurus

API Considerations

AuthenticationVersioning

Sync/ASyncPagination

CachingRate-Limiting

Page 6: Rapid Api Prototyping

@orliesaurus

API Considerations

XML vs JSON NomenclatureError Msgs (HATEOAS)

Page 7: Rapid Api Prototyping

@orliesaurus

YOU HAD ONE JOB

Page 8: Rapid Api Prototyping

@orliesaurus

Mocking

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

APIBlueprint -> MarkdownRAML -> YAML

Page 9: Rapid Api Prototyping

@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 }

Page 10: Rapid Api Prototyping

@orliesaurus

APIs are for Automa..Humans

Page 11: Rapid Api Prototyping

@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)

Page 12: Rapid Api Prototyping

@orliesaurus

Hello Humans,We’re here to help

HTTPie - cURL for humans

POSTman - Chrome addon

Advanced REST Client - Another addon

CocoaRESTClient - Mac ONLY

Page 13: Rapid Api Prototyping

@orliesaurus

CHOOSE WISELY

Page 14: Rapid Api Prototyping

@orliesaurus

Success ain’t easy

Page 15: Rapid Api Prototyping

@orliesaurus

Value

Page 16: Rapid Api Prototyping

@orliesaurus

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

Value

Page 17: Rapid Api Prototyping

@orliesaurus

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

Value

Page 18: Rapid Api Prototyping

@orliesaurus

Testing and Performance(Keep an eye on the metrics)

Page 19: Rapid Api Prototyping

@orliesaurus

PerformanceScalability

Value

Page 20: Rapid Api Prototyping

@orliesaurus

Don’t be that API company

Page 21: Rapid Api Prototyping

@orliesaurus

#ILLUMINAPI

Page 22: Rapid Api Prototyping

@orliesaurus