restkit revisited

Post on 15-May-2015

797 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Cocoaheads presentation I gave at TouchWonders in Utrecht, the Netherlands on April 16, 2013

TRANSCRIPT

Restkit Revisited RESTing beyond the samples

Axel Roest • @axello

zondag, 22 september 2013

self

zondag, 22 september 2013

self

zondag, 22 september 2013

WHY?

zondag, 22 september 2013

WHY?

communicating with backend

zondag, 22 september 2013

WHY?

communicating with backend

but JSON is easy!

zondag, 22 september 2013

WHY?

communicating with backend

but JSON is easy![NSJSONSer

ialization  JSONObjec

tWithData:responseDa

ta]

zondag, 22 september 2013

WHY?

communicating with backend

but JSON is easy!

error checking

zondag, 22 september 2013

WHY?

communicating with backend

but JSON is easy!

error checking

easy mapping to CoreData

zondag, 22 september 2013

WHY?

communicating with backend

but JSON is easy!

error checking

easy mapping to CoreData

zondag, 22 september 2013

WHY?

communicating with backend

but JSON is easy!

error checking

easy mapping to CoreData

xml & json agnostic

zondag, 22 september 2013

Why this talk?

started with RestKit 0.10 last year

RestKit in the real world

Examples sucked

zondag, 22 september 2013

Typical Example

simple JSON feed of one type

load objects from feed

zondag, 22 september 2013

Example setup

Create:

Custom Class

RKObjectManager (singleton)

RKObjectMapping

Fetch objects

zondag, 22 september 2013

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

Solution 0.10

use separate

RKObjectLoader

RKObjectMappingProvider

zondag, 22 september 2013

RestKit 0.20

based on AFNetworking framework

cleaner object mapping

more blocks, less delegates

zondag, 22 september 2013

Flow 0.20

based on NSOperation:

RKObjectRequestOperation

RKResponseMapperOperation

RKObjectMappingOperation

zondag, 22 september 2013

Flow setupAFHTTPClient

RKObjectManager (singleton)

RKObjectMapping(s)

(RKRelationshipMapping)

RKResponseDescriptor

[[RKObjectManager sharedManager] getObjectsAtPath]

zondag, 22 september 2013

Two Basic Flowstoplevel based

add response to RKObjectManager

fetch objects

fine-grained

add response to RKObjectRequest

RKObjectRequestOperation

zondag, 22 september 2013

Demo

zondag, 22 september 2013

Demo

Converting from RestKit 0.10 to 0.20 is a lot of work

zondag, 22 september 2013

Demo

Converting from RestKit 0.10 to 0.20 is a lot of work

RKGisthttps://github.com/RestKit/RKGist/

zondag, 22 september 2013

Gist Lister

https://api.github.com/gists/public

zondag, 22 september 2013

Gist Lister

https://api.github.com/gists/public

zondag, 22 september 2013

Code

zondag, 22 september 2013

top related