I'm writing a menubar-only application for OS X that does some automatic logging. It stores an array of floats continuously (say 1000 per day) and I need an elegant and simple way to store these locally, and to upload them to a central server. The upload could happen once per day or even less frequently. The online data needs to be integrated into a website that presents the data and analysis back to the user.
What's a good local and online data storage approach, and syncing method to go for for a simple system like this?
Core data? SQLite?
btw, I'm quite new to OS X development, so the simpler the better.
It shouldn't matter too much what you use. I would recommend Core Data, but others would no doubt say SQLite.
Whichever you use, you simply have to walk through your data, convert to JSON objects like NSDictionary, NSString and NSArray, then produce JSON data and use a HTTP POST with NSURLSession to send the data to your server.
The server can be written with Rails, Node.js, Django, PHP, Java, or any other server side tech. Node.js and Rails and pretty easy for beginners.
If you didn't have a web site requirement, an easier way to sync is to adopt Core Data and use an existing sync framework, such as Apple's Core Data sync, TICDS, or Ensembles. The disadvantage of these is that they don't expose your data so you can make a web site. (Disclosure: I develop the Ensembles sync framework.)