Hello!
The firm that I work for is venturing into building a cross-platform mobile app for sales folks that are "out in the field".
As a part of this, offline data storage (both text and images) is a critical requirement and we estimate that we will have several hundred MB of data that we need stored on the device.
We are in the process of evaluating various Cordova-based tools including Adobe PhoneGap, Intel XDK, Visual Studio (with the Cordova plugin) and IBM MobileFirst.
The part where we are struggling is in trying to understand what device-based data storage we should use and the how we should sync the offline data with our database server.
Our data is stored on Oracle and SQL server databases and this data will need to sync with the offline data stored on a device.
We are trying to determine what would be the best way to achieve this and we would love to hear of the approach that you took to implementing this and the challenges faced in doing this.
With regard to device storage we have considered the following so far:
1. localStorage - very basic (name/value pair storage) and seems to have limitations on the total amount of data that we can store
2. IndexedDB - looks like a promising candidate but seems to have serious shortcoming with regard to it's implementation on iOS 8.
3. SQLite - is available on all platforms but we are unsure as to the app performance in being able to store, retrieve and modify thousands of records when offline.
4. File API - provides both read and write access to store data but we will need to manage the data structure within the file ourselves.
Any additional advice/suggestions that you have based on past experience would very helpful.
Regards,
Vikram