RestKit Revisited
-
Upload
axel-roest -
Category
Technology
-
view
800 -
download
6
description
Transcript of RestKit Revisited
![Page 1: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/1.jpg)
Restkit Revisited RESTing beyond the samples
Axel Roest • @axello
zondag, 22 september 2013
![Page 2: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/2.jpg)
self
zondag, 22 september 2013
![Page 3: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/3.jpg)
self
zondag, 22 september 2013
![Page 4: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/4.jpg)
WHY?
zondag, 22 september 2013
![Page 5: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/5.jpg)
WHY?
communicating with backend
zondag, 22 september 2013
![Page 6: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/6.jpg)
WHY?
communicating with backend
but JSON is easy!
zondag, 22 september 2013
![Page 7: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/7.jpg)
WHY?
communicating with backend
but JSON is easy![NSJSONSer
ialization JSONObjec
tWithData:responseDa
ta]
zondag, 22 september 2013
![Page 8: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/8.jpg)
WHY?
communicating with backend
but JSON is easy!
error checking
zondag, 22 september 2013
![Page 9: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/9.jpg)
WHY?
communicating with backend
but JSON is easy!
error checking
easy mapping to CoreData
zondag, 22 september 2013
![Page 10: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/10.jpg)
WHY?
communicating with backend
but JSON is easy!
error checking
easy mapping to CoreData
zondag, 22 september 2013
![Page 11: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/11.jpg)
WHY?
communicating with backend
but JSON is easy!
error checking
easy mapping to CoreData
xml & json agnostic
zondag, 22 september 2013
![Page 12: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/12.jpg)
Why this talk?
started with RestKit 0.10 last year
RestKit in the real world
Examples sucked
zondag, 22 september 2013
![Page 13: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/13.jpg)
Typical Example
simple JSON feed of one type
load objects from feed
zondag, 22 september 2013
![Page 14: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/14.jpg)
Example setup
Create:
Custom Class
RKObjectManager (singleton)
RKObjectMapping
Fetch objects
zondag, 22 september 2013
![Page 15: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/15.jpg)
Real-World
multiple different json feeds
post multiple compound json objects
different responses (data, error)
restkit 0.10 objectmanager couldn’t cope
zondag, 22 september 2013
![Page 16: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/16.jpg)
Solution 0.10
use separate
RKObjectLoader
RKObjectMappingProvider
zondag, 22 september 2013
![Page 17: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/17.jpg)
RestKit 0.20
based on AFNetworking framework
cleaner object mapping
more blocks, less delegates
zondag, 22 september 2013
![Page 18: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/18.jpg)
Flow 0.20
based on NSOperation:
RKObjectRequestOperation
RKResponseMapperOperation
RKObjectMappingOperation
zondag, 22 september 2013
![Page 19: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/19.jpg)
Flow setupAFHTTPClient
RKObjectManager (singleton)
RKObjectMapping(s)
(RKRelationshipMapping)
RKResponseDescriptor
[[RKObjectManager sharedManager] getObjectsAtPath]
zondag, 22 september 2013
![Page 20: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/20.jpg)
Two Basic Flowstoplevel based
add response to RKObjectManager
fetch objects
fine-grained
add response to RKObjectRequest
RKObjectRequestOperation
zondag, 22 september 2013
![Page 21: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/21.jpg)
Demo
zondag, 22 september 2013
![Page 22: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/22.jpg)
Demo
Converting from RestKit 0.10 to 0.20 is a lot of work
zondag, 22 september 2013
![Page 23: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/23.jpg)
Demo
Converting from RestKit 0.10 to 0.20 is a lot of work
RKGisthttps://github.com/RestKit/RKGist/
zondag, 22 september 2013
![Page 24: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/24.jpg)
Gist Lister
https://api.github.com/gists/public
zondag, 22 september 2013
![Page 25: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/25.jpg)
Gist Lister
https://api.github.com/gists/public
zondag, 22 september 2013
![Page 26: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/26.jpg)
Code
zondag, 22 september 2013
![Page 27: RestKit Revisited](https://reader034.fdocuments.net/reader034/viewer/2022052310/5555bf60d8b42a52568b539f/html5/thumbnails/27.jpg)
Where
http://restkit.org
http://phlux.us
Axel Roest
@axello
zondag, 22 september 2013