Web APIs, Exponential Growth and Your Career

QCon SF | November 2014

Matt Makai | @mattmakai | makaimc on GitHub | Twilio

2015

1995

1995

12.5k websites

2015

1 billion websites

http://www.qconsf.com/

Web

Application

Programming

Interfaces

(APIs)

http://api.qconsf.com/

GET http://api.qconsf.com/

{
  "name": "QCon SF",
  "dates": ["11-3-2014", 
            "11-4-2014",
            "11-5-2014"],
  "speakers": ["Marty Weiner", 
               "Andrea Burbank", 
               "Aaron Gardner"],
  "venue": "Hyatt",
  "tickets_left": 0
}

Internet of Things "IoT"


Machine-to-Machine "M2M"

Is 2015...

1995 for web APIs?

Our Careers

1995 C++

2000 Java / J2EE

2007 Python, Ruby

2014 Node.js, Go

New programming language

  • Static or dynamic typing?
  • Compiled or interpreted?
  • VM or machine code?
  • Imperative? Functional? Mix?
  • Problem domain?

Web APIs

Q: What header is mandatory in unauthenticated HTTP 1.1 GET requests?

Host:

api.github.com

Q: What do the HTTP status code categories indicate (1xx, 2xx, 3xx, 4xx and 5xx)?

1xx Informational

2xx Success

3xx Redirection

4xx Client error

5xx Server error

Q: What are the differences between REST and RESTful?

REST

Architectural style


RESTful

Implemented in the REST architecture style

Q: What are the six constraints of REST?

REST constraints

  • Client-server
  • Stateless
  • Cacheable
  • Layered system
  • Code on demand (optional)
  • Uniform interface

Q: How are callbacks from a server to a client performed with RESTful web APIs?

Webhooks

Q: What are the + / - of using helper libraries with Web APIs?

Helper library advantages

  • Quick set up
  • Prototyping
  • Ease of use

Helper library disadvantages

  • Another dependency
  • Meant to be used a certain way
  • Leaky abstraction on HTTP

Learn more?

Send a text msg to:

(415) 466-8916


Scale 1-10: How likely are you to recommend this talk to a colleague or friend?

1 - Not likely at all

10 - Extremely likely

Matt Makai

Picture references

Resource references