Upload
ian-mackinnon
View
1.227
Download
0
Embed Size (px)
DESCRIPTION
Lightning talk given to Vancouver Ruby Meetup group on Mar 28, 2013
Citation preview
Rails as a Backend for an iOS Application
Ian MacKinnonVancouver Ruby Meetup Lightning Talks
Mar. 28, 2013
Thursday, 28 March, 13
We’ll be Talking About
• Authentication
• REST access
• Notifications
Thursday, 28 March, 13
Authentication
• https://github.com/applicake/doorkeeper
• has slightly outdated Railscast
• now supports Mongoid
• OAuth development environment can be a pain b/c of port number w/ simulator (RestKit ignores it)
• Most iOs libraries will keep a regular session
Thursday, 28 March, 13
RESTKit
• Your go-to for remote object loading and persisting (can even integrate with coredata!)
• Handles JSON/XML to object mapping
• Gotchas:
• Rails expects nested attributes for params
• Need root JSON element for mapping
• JSON payload size matters
Thursday, 28 March, 13
Configure RestKit to POST with a root path
Thursday, 28 March, 13
Thursday, 28 March, 13
Ease up on JSON Size
• Normal for application to be run on 3G
• Override a model’s as_json to determine the model attributes that will be sent across wire
Thursday, 28 March, 13
APNS (push notifications)
• Used to suck but there’s a pretty awesome gem now
• Grocer (https://github.com/grocer/grocer)
• “There are other gems out there to do this, but grocer plans to be the cleanest, most extensible, and friendliest.”
• Different Gateways for Dev and Production
• Token identifies a device, not a user
Thursday, 28 March, 13
Grocer
Thursday, 28 March, 13
MISC
• SSL Certificates are worth it
• Parse is an alternative way of getting up and running quick
• But you might need a web presence too
• Kind of hard to migrate when you have a bunch of apps pointing to api.parse.com
Thursday, 28 March, 13