1. avoid getting rejected by the app store as just a website with a
native app wrapper; hence the part with retrieving JSON data versus HTML
pages
Well, that's having the cart pull the horse!
I don't see how the method you use to get data impacts this. If it appears to be nothing but a wrapper around the website, it will still get rejected.
Frankly, when they see a network access for every page, this is going to raise a red flag regardless.
If you alter the appearance, to make it more suitable for mobile, this will help. It won't matter to Apple if you format the page in Javascript or on the server. You will get a + for customized appearance, and a - for server access, whether the server formats the page or Javascript formats the page. They don't know or care where the page got formatted.
2. have the ability to update the data on the server-side and then the
app should reflect the latest and greatest data without needing to
release a new update to the app
It's a valid point.
Most PhoneGap apps use static local content, and so updating content requires an app update. Some do refresh content from a server, that will take some amount of work. I don't do much with PhoneGap, but I'm guessing you can find some plugins. If you are going to refresh local content, why not let the server format it?
Many PhoneGap apps have some certain pages that it gets from a server. For example, perhaps a "current events" section.
Yes, it's nice to have the formatting independent of the web site. But at what development cost?
In Rhodes, you can use RhoConnect to sync a local database to a remote database. It's not a good choice for all projects, though, because RhoConnect requires licensing. Motorola will waive licensing fees for certain non-profit or public-purpose apps, though, and waives licensing fees if you open-source your app.
and maybe have the ability to use geolocation, camera, or photo gallery
That will help you show that it is not simply a wrapper around the website. This is a more important criteria than content appearance. However, it still is helpful if the data is stored locally and doesn't require the Internet for access.
I'm guessing you are not a follower of the PhoneGap religion as well then
It has appropriate uses. The more complex the local logic in the app, the more likely I am to use Rhodes over PhoneGap.
If you just want to package some static content in an app, PhoneGap is a no-brainer, taking almost no programming to accomplish that.
Add a map and a to-do list, for example, and it gets more complicated, but manageable. Much more, and, personally, I would use Rhodes. I'm just not a fan of Javascript for business logic and database code. I can get a lot more done in a lot less code more quickly in Ruby, and, surprisingly, the speed is just fine. jQuery Mobile is almost always the speed bottleneck in a Rhodes project.