beyond rest web services designed for mobile · beyond rest web services designed for mobile....
TRANSCRIPT
![Page 1: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/1.jpg)
BEYOND REST
WEB SERVICES
DESIGNED
FOR MOBILE
![Page 2: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/2.jpg)
![Page 3: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/3.jpg)
tchacknight.com
![Page 4: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/4.jpg)
Web ServicesNative Apps
![Page 5: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/5.jpg)
Web ServicesNative Apps
People
![Page 6: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/6.jpg)
TOPICS
![Page 7: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/7.jpg)
Web API state of the art
TOPICS
![Page 8: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/8.jpg)
Web API state of the art
Design considerations for developers
TOPICS
![Page 9: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/9.jpg)
Web API state of the art
Design considerations for developers
Lessons and patterns
TOPICS
![Page 10: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/10.jpg)
STATE OF THE ART
![Page 11: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/11.jpg)
WHY REVIEW REST?
![Page 12: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/12.jpg)
WHY REVIEW REST?
Defines our constraints
It might not be what you think it is
It’s really cool
![Page 13: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/13.jpg)
REST
![Page 14: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/14.jpg)
REST
Representational State Transfer
![Page 15: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/15.jpg)
REST
Representational State Transfer
Coined by Roy Fielding in 2000
![Page 16: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/16.jpg)
REST
Representational State Transfer
Coined by Roy Fielding in 2000
The architectural style of the web
![Page 17: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/17.jpg)
REST
Representational State Transfer
Coined by Roy Fielding in 2000
The architectural style of the web
Deduced from and tested by the web itself
![Page 18: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/18.jpg)
“[REST] has allowed Web-based applications to scale from 100,000
requests per day in 1994 to 600,000,000 requests
per day in 1999.”
–Roy FieldingSource: https://www.ics.uci.edu/~fielding/pubs/dissertation/conclusions.htm
![Page 19: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/19.jpg)
0
2,250,000,000
4,500,000,000
6,750,000,000
9,000,000,000
1999 (Everything) 2015 (Just YouTube)
REQUESTS PER DAY
Source: http://www.internetlivestats.com/one-second/#youtube-band
![Page 20: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/20.jpg)
QUALITIES OF THE WEB
Simple
Proven
Scalable
Ubiquitous
![Page 21: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/21.jpg)
QUALITIES OF THE WEB
Simple
Proven
Scalable
Ubiquitous
So aren’t all web APIs REST?
![Page 22: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/22.jpg)
“What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? In other words, if the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and cannot be a REST API. Period. Is there some broken manual somewhere that needs to be fixed?”
–Roy Fielding, 2008
Source: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
![Page 23: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/23.jpg)
HATEOAS
![Page 24: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/24.jpg)
nytimes.com
![Page 25: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/25.jpg)
nytimes.com
![Page 26: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/26.jpg)
HATEOAS
![Page 27: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/27.jpg)
HATEOAS
Client doesn’t need a manual
![Page 28: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/28.jpg)
HATEOAS
Client doesn’t need a manual
Client doesn’t know URL formats
![Page 29: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/29.jpg)
HATEOAS
Client doesn’t need a manual
Client doesn’t know URL formats
Client doesn’t know available states
![Page 30: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/30.jpg)
HATEOAS
Client doesn’t need a manual
Client doesn’t know URL formats
Client doesn’t know available states
Works for more than just read-only data
![Page 31: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/31.jpg)
![Page 32: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/32.jpg)
GET /sign_up
![Page 33: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/33.jpg)
GET /sign_up
HTML <form>
![Page 34: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/34.jpg)
GET /sign_up
HTML <form>
POST /sign_up
![Page 35: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/35.jpg)
GET /sign_up
HTML <form>
POST /sign_up
200 OK
![Page 36: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/36.jpg)
1 2
![Page 37: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/37.jpg)
GET /sign_up
HTML <form>
1 2
![Page 38: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/38.jpg)
GET /sign_up
HTML <form>
POST /sign_up
200 OK
1 2
![Page 39: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/39.jpg)
GET /sign_up
HTML <form>
1 2
![Page 40: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/40.jpg)
GET /sign_up
HTML <form>
POST /sign_up
ErrorE
1 2
![Page 41: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/41.jpg)
GET /sign_up
HTML <form>
POST /sign_up
200 OK
C C
1 2
![Page 42: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/42.jpg)
POST /sign_up
200 OK
CC
![Page 43: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/43.jpg)
POST /sign_up
200 OK
CC
GET /sign_up
{ sign_up }
![Page 44: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/44.jpg)
“There is so much coupling on display
that it should be given an X rating.”
–Roy Fielding
Source: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
![Page 45: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/45.jpg)
POST /sign_up
200 OK
CC
GET /sign_up
{ sign_up }
![Page 46: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/46.jpg)
CC
{ sign_up }
![Page 47: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/47.jpg)
HATEOAS
Use a native wrapper like PhoneGap?
![Page 48: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/48.jpg)
HATEOAS
Use a native wrapper like PhoneGap?
Use React Native?
![Page 49: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/49.jpg)
HATEOAS
Use a native wrapper like PhoneGap?
Use React Native?
Something else?
![Page 50: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/50.jpg)
HATEOAS
Use a native wrapper like PhoneGap?
Use React Native?
Something else?
Compensate
![Page 51: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/51.jpg)
“REST isn’t an all or nothing proposition.
One can get significant value from partial
adoption.”
–Sam RubySource: http://www.intertwingly.net/blog/2008/10/21/Progressive-Disclosure
![Page 52: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/52.jpg)
CONSIDERATIONS
FOR DEVELOPERS
![Page 53: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/53.jpg)
FOR DEVELOPERS
![Page 54: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/54.jpg)
FOR DEVELOPERS
Documented
![Page 55: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/55.jpg)
FOR DEVELOPERS
Documented
Consistent
![Page 56: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/56.jpg)
FOR DEVELOPERS
Documented
Consistent
Testable
![Page 57: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/57.jpg)
COUPLING &
PERMANENCE
C
![Page 58: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/58.jpg)
DOCUMENTATION
FOR DEVELOPERS
![Page 59: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/59.jpg)
FOR DEVELOPERSDOCUMENTATION
Treat it like any other feature
![Page 60: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/60.jpg)
FOR DEVELOPERSDOCUMENTATION
Treat it like any other feature
Must be up-to-date
![Page 61: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/61.jpg)
FOR DEVELOPERSDOCUMENTATION
Treat it like any other feature
Must be up-to-date
Good: Auto-validate
![Page 62: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/62.jpg)
FOR DEVELOPERSDOCUMENTATION
Treat it like any other feature
Must be up-to-date
Good: Auto-validate
Better: Auto-generate
![Page 63: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/63.jpg)
FOR DEVELOPERSDOCUMENTATION
Treat it like any other feature
Must be up-to-date
Good: Auto-validate
Better: Auto-generate
Critical for developer happiness
![Page 64: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/64.jpg)
FOR DEVELOPERSDOCUMENTATION
Reference
Troubleshooting
Change
![Page 65: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/65.jpg)
FOR DEVELOPERSDOCUMENTATION
Reference DocsAuthentication
Version Details
Request Headers
Response Headers
Response Format
Status Codes
Backwards Compatibility
Pagination
Resources
Methods
Method Parameters
Example Requests
Example Responses
Error Format
![Page 66: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/66.jpg)
FOR DEVELOPERSDOCUMENTATION
Reference Docs Examples
https://stripe.com/docs/api
https://instagram.com/developer
https://developer.github.com/v3
![Page 67: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/67.jpg)
FOR DEVELOPERSDOCUMENTATION
Troubleshooting
![Page 68: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/68.jpg)
FOR DEVELOPERSDOCUMENTATION
Troubleshooting
Minimum: Detailed error messages
Better: Errors with links to reference docs
![Page 69: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/69.jpg)
FOR DEVELOPERSDOCUMENTATION
Document Change
![Page 70: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/70.jpg)
FOR DEVELOPERSDOCUMENTATION
Document Change
Minimum: Changelog
Better: Mailing list
![Page 71: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/71.jpg)
CONSISTENCY
FOR DEVELOPERS
![Page 72: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/72.jpg)
FOR DEVELOPERSCONSISTENCY
Don’t deviate from the norm
![Page 73: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/73.jpg)
FOR DEVELOPERSCONSISTENCY
Don’t deviate from the norm
Use standard HTTP verbs
GET Get a resource
POST Create a resource
PUT Replace a resource
PATCH Update a resource
DELETE Delete a resource
![Page 74: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/74.jpg)
FOR DEVELOPERSCONSISTENCY
Provide consistent error responses
![Page 75: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/75.jpg)
POST /sign_up
![Page 76: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/76.jpg)
POST /sign_up
E
![Page 77: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/77.jpg)
POST /sign_up
200 OKE
![Page 78: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/78.jpg)
POST /sign_up
200 OKE
![Page 79: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/79.jpg)
POST /sign_up
200 OK
POST /sign_up
200 OK
E
E
![Page 80: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/80.jpg)
POST /sign_up
200 OK
POST /sign_up
200 OK
E
EX
![Page 81: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/81.jpg)
POST /sign_up
200 OK
POST /sign_up
422 Invalid
E
E✓
![Page 82: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/82.jpg)
FOR DEVELOPERSCONSISTENCY
Use standard HTTP status codes
200 Success
201 Created
400 Bad request
401 Unauthorized
404 Not found
422 Unprocessable entity
500 Server error
![Page 83: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/83.jpg)
FOR DEVELOPERSCONSISTENCY
Backwards compatibility
![Page 84: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/84.jpg)
FOR DEVELOPERSCONSISTENCY
Backwards compatibility
Publish your contract
![Page 85: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/85.jpg)
FOR DEVELOPERSCONSISTENCY
Backwards compatibility
Publish your contract
Adding new stuff is OK
![Page 86: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/86.jpg)
FOR DEVELOPERSCONSISTENCY
Backwards compatibility
Publish your contract
Adding new stuff is OK
Removing stuff is not OK :(
![Page 87: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/87.jpg)
FOR DEVELOPERSCONSISTENCY
Backwards compatibility
Publish your contract
Adding new stuff is OK
Removing stuff is not OK :(
Making a backwards-incompatible change creates a new version of the API
![Page 88: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/88.jpg)
FOR DEVELOPERSCONSISTENCY
How Stripe handles versions
![Page 89: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/89.jpg)
FOR DEVELOPERSCONSISTENCY
How Stripe handles versions
Backwards compatibility is “hidden”
![Page 90: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/90.jpg)
FOR DEVELOPERSCONSISTENCY
How Stripe handles versions
Backwards compatibility is “hidden”
New users are on the latest version
![Page 91: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/91.jpg)
FOR DEVELOPERSCONSISTENCY
How Stripe handles versions
Backwards compatibility is “hidden”
New users are on the latest version
Stripe adds breaking changes with gates
![Page 92: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/92.jpg)
FOR DEVELOPERSCONSISTENCY
How Stripe handles versions
Backwards compatibility is “hidden”
New users are on the latest version
Stripe adds breaking changes with gates
Users can update to the latest anytime
![Page 93: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/93.jpg)
TESTABLE
FOR DEVELOPERS
![Page 94: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/94.jpg)
FOR DEVELOPERSTESTABLE
Web APIs must be testable
![Page 95: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/95.jpg)
FOR DEVELOPERSTESTABLE
Web APIs must be testable
Minimum: Staging, Sandbox, or Test Mode
Better: Developers run a local server
![Page 96: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/96.jpg)
LESSONS &
PATTERNS
![Page 97: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/97.jpg)
PATTERNS
Kill switch
![Page 98: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/98.jpg)
PATTERNS
Kill switch
Source of truth
![Page 99: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/99.jpg)
PATTERNS
Kill switch
Source of truth
Pubsub
![Page 100: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/100.jpg)
KILL SWITCH
PATTERNS
![Page 101: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/101.jpg)
Can I have my data, please?
You need to upgrade, sorry!
:(
![Page 102: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/102.jpg)
PATTERNSKILL SWITCH
A must have
![Page 103: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/103.jpg)
PATTERNSKILL SWITCH
A must have
Minimum: Force an upgrade
![Page 104: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/104.jpg)
PATTERNSKILL SWITCH
A must have
Minimum: Force an upgrade
Better: Communicate with users
![Page 105: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/105.jpg)
PATTERNSKILL SWITCH
Hypothetical situation
![Page 106: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/106.jpg)
PATTERNSKILL SWITCH
Hypothetical situation
You have an app in the App Store
![Page 107: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/107.jpg)
PATTERNSKILL SWITCH
Hypothetical situation
You have an app in the App Store
You discover a bug and start fixing it
![Page 108: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/108.jpg)
PATTERNSKILL SWITCH
Hypothetical situation
You have an app in the App Store
You discover a bug and start fixing it
Meanwhile, end users also discover it
![Page 109: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/109.jpg)
PATTERNSKILL SWITCH
Hypothetical situation
You have an app in the App Store
You discover a bug and start fixing it
Meanwhile, end users also discover it
You’re helpless for 1 or 2 weeks
![Page 110: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/110.jpg)
PATTERNSKILL SWITCH
Hypothetical situation
You have an app in the App Store
You discover a bug and start fixing it
Meanwhile, end users also discover it
You’re helpless for 1 or 2 weeks
Alert them
![Page 111: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/111.jpg)
App version
Platform
OS version
Device
User-Agent MyApp/3.07.01 (Android; 5.0.2; Galaxy S6)
KILL SWITCH PATTERNS
![Page 112: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/112.jpg)
SOURCE OF TRUTH
PATTERNS
![Page 113: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/113.jpg)
PATTERNSSOURCE OF TRUTH
The server is always the source of truth
![Page 114: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/114.jpg)
PATTERNSSOURCE OF TRUTH
The server is always the source of truth
Except when it isn’t
![Page 115: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/115.jpg)
PATTERNSSOURCE OF TRUTH
The server is always the source of truth
Except when it isn’t
What about when resources are created?
![Page 116: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/116.jpg)
PATTERNSSOURCE OF TRUTH
The server is always the source of truth
Except when it isn’t
What about when resources are created?
What about airplane mode?
![Page 117: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/117.jpg)
![Page 118: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/118.jpg)
![Page 119: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/119.jpg)
PATTERNSSOURCE OF TRUTH
Keep it simple
![Page 120: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/120.jpg)
PATTERNSSOURCE OF TRUTH
Keep it simple
Minimize client state
![Page 121: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/121.jpg)
PATTERNSSOURCE OF TRUTH
Keep it simple
Minimize client state
Sync is an interesting, hard problem
![Page 122: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/122.jpg)
PUBSUB
PATTERNS
![Page 123: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/123.jpg)
PATTERNSPUBSUB
Publishers
Channels
Subscribers
![Page 124: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/124.jpg)
PATTERNSPUBSUB
Publishers
Channels
Subscribers
Publishers and subscribers don’t know about each other
![Page 125: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/125.jpg)
![Page 126: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/126.jpg)
![Page 127: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/127.jpg)
GET /stream
![Page 128: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/128.jpg)
GET /stream
200 OK
![Page 129: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/129.jpg)
![Page 130: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/130.jpg)
POST /like
201 Created
![Page 131: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/131.jpg)
POST /like
201 Created
![Page 132: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/132.jpg)
POST /like
201 Created
![Page 133: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/133.jpg)
POST /like
201 Created
![Page 134: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/134.jpg)
Channel Subscriber 1
![Page 135: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/135.jpg)
POST /like
Channel Subscriber 1
Update!
Update!
![Page 136: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/136.jpg)
POST /like
Channel Subscriber 1
Update!
Update!
Subscriber 2
Update!
Subscriber 3
Update!
![Page 137: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/137.jpg)
Channel Subscriber 1
Update!
Subscriber 2
Update!
Subscriber 3
Update!
POST /like
Update!
![Page 138: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/138.jpg)
GET /stream
200 OK
Pushpin
![Page 139: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/139.jpg)
Pushpin
![Page 140: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/140.jpg)
Pushpin
GET /stream
![Page 141: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/141.jpg)
Pushpin
GET /streamGET /stream
![Page 142: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/142.jpg)
Pushpin
GET /streamGET /stream
Open #channel
![Page 143: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/143.jpg)
Pushpin
GET /stream
200 OK chunked
GET /stream
Open #channel
![Page 144: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/144.jpg)
Pushpin
GET /stream
200 OK chunked
GET /stream
Open #channel
POST /like
![Page 145: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/145.jpg)
Pushpin
GET /stream
200 OK chunked
GET /stream
Open #channel
Publish #channelPOST /like
![Page 146: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/146.jpg)
Pushpin
GET /stream
200 OK chunked
GET /stream
Open #channel
Publish #channel
Publish #channel
Publish #channel
POST /like
POST /like
POST /like
![Page 147: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/147.jpg)
Pushpin
GET /stream
200 OK chunked
GET /stream
Open #channel
Publish #channel
Publish #channel
Publish #channel
POST /like
POST /like
POST /like
![Page 148: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/148.jpg)
Pushpin
GET /stream
200 OK chunked
GET /stream
Open #channel
Publish #channel
Publish #channel
Publish #channel
POST /like
POST /like
POST /like
![Page 149: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/149.jpg)
PUSHPIN
![Page 150: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/150.jpg)
PUSHPIN
Transparent infrastructure layer
![Page 151: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/151.jpg)
PUSHPIN
Transparent infrastructure layer
Independently scalable
![Page 152: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/152.jpg)
PUSHPIN
Transparent infrastructure layer
Independently scalable
Simple for clients
![Page 153: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/153.jpg)
PUSHPIN
Transparent infrastructure layer
Independently scalable
Simple for clients
Open source
![Page 154: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/154.jpg)
RECAP
![Page 155: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/155.jpg)
Shared some tips and lessons learned
Importance of developer experience
Web API state of the art
RECAP
![Page 156: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/156.jpg)
THANKS!
![Page 157: BEYOND REST WEB SERVICES DESIGNED FOR MOBILE · BEYOND REST WEB SERVICES DESIGNED FOR MOBILE. tchacknight.com. Native Apps Web Services. Native Apps Web Services People. TOPICS. Web](https://reader034.vdocuments.mx/reader034/viewer/2022043022/5f3dcc0ad5b94c045e3d0f50/html5/thumbnails/157.jpg)
https://github.com/livefront/beyond-rest
Sam Kirchmeier
@skirchmeier
THANKS!