In addition to this blog post, you might want to check out this iOS and Rails Starter Kit.
Let’s say you want to build an iOS app on top of a Ruby on Rails backend. Here are a few resources to get you started:
The iOS Side
- CocoaPods is a great way to manage dependencies and libraries. It has specs for all the libraries we are using and many many more. It’s a must!
- We’re using RestKit to easily consume the Rails API. It maps the resources into Objective C classes, maintains relationships, handles authentication, and more.
- SVProgressHUD is a nice little library that handles progress indicators and success/error messages.
- All iOS apps that communicate to a server need to gracefully degrade when connectivity is not present. This is actually also a formal requirement for being approved on the App Store. This library handles Reachability with ease.
The Rails Side
- If you are already using the devise gem for logging in, it’s perfect for integration with iOS. You’ll simply need to enable http_authenticatable in devise.rb and set up RestKit with each user’s email and password. You might also want to look into token authentication.
- If you intend the Rails app to only handle the API, the Rails-API gem is a good place to get you started.
- Railscasts a series of video tutorials on specific topics. For the matter at hand, strongly suggest you watch 209 Devise, 348 The Rails-API Gem and 350 Rest API Versioning.
- NSScreencast the iOS counterpart of Railscasts. Here, take a look at the Objective-C Introduction, CocoaPods, UITableViewBasics and Intro to Storyboards.
Both of the above websites are subscription based, but, in my opinion, are providing a very useful service.