Let me explain it for you:
Heroku is just a way to host on the Amazon AWS cloud infrastructure. It doesn't store your DB - it provides access to db infrastructure, but doesn't host the DB itself
If you want to store cross-platform data in your iOS application, you need to connect to a third-party db (this is how FB works)
This means if you want to keep up with menu updates on your phone, you'll need to firstly have a central db (hosted on Heroku's recommended db infrastructure), and then use the iOS app to connect to it
The trick will be to take any updates from the database & display them using a push notification. I don't know about this, but the Rails part I can tell you about:
If you want to store a menu in a db, you'll need a db. You can get one either at AWS or Heroku (notice how the
db
!=rails
)Next, you need data in that db. This is where rails comes in - you'll be best using an infrastructure such as Rails or CakePHP to manage the data
If you create a simple Rails app with admin backend, you'll be able to upload as much data as required to your db. If you need to "scrape" the data, you can create a simple script & cronjob to get it & put into the db
Finally, each time the db updates, you need to send the update to your iOS app. I don't have much experience with this, but it seems you need to use the pub/sub programming pattern to send the updates to your device (displaying them on screen as a result)
Answers
To answer your questions directly:
You store data in a db through Rails or another framework
Helios looks like it will connect your iOS app to your backend db infrastructure. Don't know how it works, but it looks pretty good
Your objective-C code gets the iOS app running natively on iPhone / iPad
I think you'll be okay with what you have here