SDK vs API - Holger Reinhardt, Snr Principal Business Unit Strategy, Layer 7 @ APIDays Berlin

Post on 14-Jul-2015

791 views 0 download

transcript

SDK vs API @ APIDays Berlin 2014

Holger Reinhardt

@hlgr360

holger.reinhardt@ca.com

http://www.flickr.com/photos/jurvetson/21470089/

You want a Library with that (API)?

http://www.layer7tech.com/blogs/index.php/sdks-work-until-they-dont/

You don’t have to be hereYou can read it over there

Designing an API is easy Effective API design is difficult

• Informaton

• Product

• Service

Business Asset

• API

• SLA

• EULA

API Provider• Building

App

Developer

• Using API

Application• Using App

End-User

The API Value Chain

• Informaton

• Product

• Service

Business Asset

• API

• SLA

• EULA

API Provider• Building

App

Developer

• Using API

Application• Using App

End-User

Effective API Design

A story about two APIs

I love it

I wanted Javascript, but got PHP

I wanted Client-side, but got Server-side

- need to install peck or pearl on my Mac

http://pear.php.net/manual/en/installation.getting.php

- went back to documentation to install oauth

extension, needed autoconf - tried another way

http://stackoverflow.com/questions/5536195/install-pecl-

on-mac-os-x-10-6

- still required autoconf

http://mac-dev-env.patrickbougie.com/autoconf/

- Error: PECL: configuration option "php_ini" is

not set to php.ini location

http://arcadian83.livejournal.com/16386.html

=> Ready to run php lib from fitbit website

- Enable php

http://editrocket.com/articles/php_apache_mac.html

- Enable apache server

http://reviews.cnet.com/8301-13727_7-57481978-263/how-to-

enable-web-sharing-in-os-x-mountain-lion/

- sudo apachectl start

=> Ready to start playing with the php lib

small annoyances add up to create a poor experience

Using a SDK might be easier, until it isn’t

SDK Benefits

• Time to First Use (Developer On-boarding)

• Best client for your API

• Simplify API design by extracting business logic into the SDK

• Strongly-typed language representation

SDK Drawbacks

• Picking platform and framework winners

• 3rd party framework dependencies

• Version dependencies between SDK and API

• SDK carry-on weight

• Long-term support costs

Making API design an afterthought?

Provide SDKs for on-boarding

Transition to Web-APIs for production