~/talk

Building a Swift Web API

Talkat try! Swift Tokyo 2017 · 2017-03-02..03-04· [serverless]
slides:none on file

Built a Swift web API that replaces an old backend without changing the iOS client by keeping the interface decoupled and using hypermedia controls (RFC5988 link headers, embedding via HAL and richer actions via Siren). Implementation uses a tiny routing library (Frank) rather than a monolithic Kitura/Vapor stack, tests API contracts with Dredd against an API Blueprint, deploys to Heroku (or Bluemix/Docker), and runs with log aggregation (Papertrail); clients keep working during the rewrite.

AI-written summary · about

  1. 0:00Intro
  2. 0:40API Design
  3. 1:06What makes a good API?
  4. 1:21Example: Pagination
  5. 3:43How do we introduce changes to our API?
  6. 4:52API is coupled to implementation details
  7. 5:36What happens when you version an API?
  8. 6:13How can we design the API without exposing implementation details?
  9. 6:47Anticipating change is one of the central themes of REST
  10. 7:09Tight Coupling
  11. 7:42Controls have to be learned on the fly. That's what hypermedia enables
  12. 8:02Web Linking RFC 5988
  13. 12:55Building an API in Swift
  14. 13:15Web Frameworks
  15. 14:06Frank vs Kitura vs Vapor
  16. 14:40Server APIs Working Group
  17. 18:32Manual Deployment
  18. 19:02Papertrail
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.