1. API types
A classification of Application Programming Interfaces
Sarah Maddox, technical writer
http://goo.gl/tTqyne
2. API Types, by Sarah Maddox
What is an API?
Application Programming Interface (API)
A means of communication
○ App to app
○ Automated
A description of the communication methods allowed
○ Requesting information
○ Sending information
○ Updating information
The mechanisms supporting those interactions
3. API Types, by Sarah Maddox
What is an API?
Usually not UI
○ Software-to-software interaction, not user interaction
○ May provide a UI widget
“Components” rather than “apps”?
○ Yes, that’s more precise
○ But “app” is good for most purposes
“APIs” = features within an API?
○ No, although fairly common usage
○ Those are classes, methods, endpoints, etc
4. API Types, by Sarah Maddox
A simple classification of APIs
Web service APIs
SOAP
XML-RPC and JSON-RPC
REST
WebSocket APIs
Library-based APIs
JavaScript
TWAIN
Class-based APIs (object orientation)
Java API
Android API
OS functions and routines
Access to file system
Access to user interface
Object remoting APIs
CORBA
.NET Remoting
Hardware APIs
Video acceleration
Hard disk drives
PCI buses
5. API Types, by Sarah Maddox
Web service APIs
Flickr
Google Static Maps
Google Geolocation
And many many more
6. API Types, by Sarah Maddox
WebSockets
Server
Web
browser
7. API Types, by Sarah Maddox
Library-based APIs
Google Maps JavaScript API
Dropbox JavaScript Datastore API
Twilio APIs - lots of them
TWAIN - for scanners and cameras
Oracle Call Interface (OCI)
8. API Types, by Sarah Maddox
Class-based APIs
Java API
Android API
Google Maps Android API
MSDN Class Library for .NET Framework
Twilio APIs for Java and C#
9. API Types, by Sarah Maddox
A simple classification
OS functions and routines
Access to file system
Access to user interface
Object remoting APIs
CORBA
.NET Remoting
Hardware APIs
Video acceleration
Hard disk drives
PCI buses
Web service APIs
SOAP
XML-RPC and JSON-RPC
REST
WebSocket APIs
Library-based APIs
JavaScript
TWAIN
Class-based APIs (object orientation)
Java API
Android API
10. API Types, by Sarah Maddox
Blog post with details and comments
http://goo.gl/tTqyne
Long link:
http://ffeathers.wordpress.com/2014/02/16/api-types
11. API Types, by Sarah Maddox
Twitter @sarahmaddox
Google+ +sarahmaddox
Slideshare sarahmaddox
Blog ffeathers.wordpress.com
Contacting me