Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Decouple your mobile services
Search
Romain
September 25, 2013
Programming
64
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Decouple your mobile services
Creating a tailored RESTful API so your app and services can evolve separately
Romain
September 25, 2013
More Decks by Romain
See All by Romain
JavaScript dependency management in a post-Node world
romainprieto
0
160
CSS Workshop - The basics
romainprieto
0
57
Other Decks in Programming
See All in Programming
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
880
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
190
contenteditable と日本語入力に向き合う
colorful12
0
200
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
630
Jetpack Compose Mechanisms
skydoves
3
820
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Test your architecture with Archunit
thirion
2
2.4k
Exploring anti-patterns in Rails
aemeredith
4
540
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Are puppies a ranking factor?
jonoalderson
2
4.1k
It's Worth the Effort
3n
188
29k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Limits of Empathy - UXLibs8
cassininazir
2
720
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Un-Boring Meetings
codingconduct
0
460
Transcript
Decouple your! mobile API now …don’t be sorry later !
Sept 2013 Romain Prieto
None
BREAKING CHANGE
None
defensive / fallbacks con0nuous checks consumer-‐driver contracts
Display list of products sorted by MagicRank © unless on
sale only best rated
Where does that logic sit? Even if it’s UI related…
will you want to tweak it remotely? à Custom tailored services
Many capabilities
GET /products { id: 1, name: “chair” }, { id:
2, name: “table” } GET /products/1 { price: 30, image: “…” }
POST /cart/items { productId: 1, quantity: 4 } URI changes?
…refactoring Host changes? …micro-services …infrastructure upgrades
GET /products [{ id: 1, name: “chair”, details: “/products/1” }]
DATA
GET /config { cart: “/cart/items” } GET /products/1 { cart:
“/cart/items/1“, … } SERVICES or
SINGLE PROXY
DISCOVERABLE SERVICES
None
http://mark-kirby.co.uk/2013/creating-a-true-rest-api/ http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven http://madhatted.com/2013/3/19/suggested-rest-api-practices http://offers.apigee.com/web-api-design-ebook/ http://kinderman.net/2010/06/23/approaching-pure-rest-learning-to-love-hateoas http://stateless.co/hal_specification.html https://kenai.com/projects/suncloudapis/pages/CloudAPIBackupRequests a few more
URLs
{ "op": "restore-Backup", "progress": 0, "target_uri": "/vms/33333/backups/456", "status_uri": "/statuses?op=restore-Backup&vm=3&b=456" }
SunCloud API (2009)
<link href="http://api-public.netflix.com/catalog/ titles/series/70023522/cast" rel="http:// schemas.netflix.com/catalog/people" title="cast"> <cast> <link href="http://api-public.netflix.com/catalog/ people/30011713"
rel="http://schemas.netflix.com/ catalog/person" title="Steve Carell” /> <link href="http://api-public.netflix.com/catalog/ people/30014922" rel="http://schemas.netflix.com/ catalog/person" title="John Krasinski” /> Netflix
None