It seems there are four possible options:
- Web Database
- Key-value storage
I've given a little thought to the advantages and disadvantages of each (enough to decide to give HTML 5 Web storage a try.) I'll update this document if I get any good feedback.
- Can be used in hybrid, online and offline webapps.
- Supported in iPhone OS 2.0 and later.
- SQL is familiar and powerful for those who know it and need it.
- Use of SQL is overkill for simple persistence
- Simple conceptual model than SQL
- Has both "session"and "local" modes
- Only supported in iPhone 3.0 and later (although Apple isn't very clear on this)
- Tried and true web technology
- Either not supported in Hybrid mode or requires extra Cocoa code to support. (Does anybody have a definitive answer, details, or an example?)
- Extra data is transmitted to the server on each request
- You can use any iPhone native mechanism for persistence
- Requires custom Cocoa code
- Will not work for pure online/offline webapp