~/talk

REST Clients

Talkat Platform Summit 2014 · 2014-10-20..10-22· [api-design, frontend-architecture]
name:Pau Ramon
links:none on file
slides:none on file

Redbooth uses one API for web, iOS, Android, Gmail and Outlook clients and integrates with Dropbox, Box and Evernote; this forces design choices: avoid client-held state by fetching authoritative state from server, represent side effects with use POST for actions and return Link headers to mutated resources, prefer conditional updates with PATCH using JSON Merge Patch for simple deltas (JSON Patch only for deep ops), return async 202 + token for long jobs and support cached timestamps for efficient syncing.

AI-written summary · about

  1. 0:00Intro
  2. 1:31One API to rule them all
  3. 1:46Business development "for free"
  4. 3:16Render on the client • More Integration test - Backward compatibility • Coordinate API and client implementations
  5. 4:17Render on the client • More Integration test • Backward compatibility • Coordinate API and client implementations
  6. 5:59Constrains set you free
  7. 6:51Development in parallel
  8. 7:34Stateful is hard: Server and client's state will diverge
  9. 8:43Side effects? Can be RESTful too
  10. 10:49Use the Link HTTP header to tell the client to re-fetch a resource
  11. 11:51Minimize impact of race conditions with PATCH instead of PUT
  12. 14:51Nested resources are troublesome
  13. 15:28Perceived speed
  14. 16:24Asynchronous operations
  15. 16:42Offline and Caching strategies
  16. 16:53Store the data and the cache's timestamp. Next time request only changes and merge them.
  17. 17:15Build an API for the clients
~/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.