I know I'm going to need database stuff in a few of the applications that I want to write, and some of the geo stuff will link in with JSON things (USGS/NOAA etc all use that format, which I know nothing about except that it is related to java script, which I do not remember at all, and if I did, would be hopelessly outdated).
you're in luck as far as caring about data formats: NSJSONSerialization will do the heavy lifting, and convert the data into a dictionary/array for you. yay!
So I don't get burned out on objective-c, especially since I'm having serious depression related brain fog and lack of attention span, I want to start regaining my db skills. Which technologies are most useful and generic? (in addition to the nail polish app, I want to do a GED teaching app. I'll probably start with that since it would be super simple: few students, diagnostic and placement test scores, attendance, and basic lesson plans). XML? Or is something else better these days? I used to do a bit with SQL; I don't remember anything, but it can't be too hard to pick up again.
well, there are a few ways of looking at it.
firstly, the 'Apple' way of looking at it: it doesn't matter. you'll probably use CoreData for your data persistence inside your app (there are a few cases where you *shouldn't* use CoreData, but for 99% of us, CoreData is fine). on the backend (by default) CoreData uses SQLite, but generally you won't care. (there are some SQL performance considerations on some edge cases, but let's ignore those for now!). CoreData has optional backends for in-memory and XML, but it's all abstracted away to not really matter.
secondly, another 'Apple' factor, is that a lot of data persistence is easily abstracted inside of Cocoa(/Touch) so your consideration is more about the kind of data you have to persist (large blobs vs small bytes) rather than *how* to (de)serialise the data to the format etc. the actual API to write it out is often fairly similar, so you don't actually have to know about XML/JSON/whatever :)
thirdly, the 'screw Apple, I just want to have fun' point: for the most, there are two fairly distinct schools: relational and non-relational(/key-value) persistence. the actual backends (say, SQLite vs MySQL vs SQL Server) don't reaaaaally matter too much - most of them have an SDK for whatever language you're writing, many even having generic tools (Java has JDBC, PHP has PDO, etc). so if you want to get your hands dirty, pick whatever is easiest to get running :) I'd suggest SQLite, since it's so simple to get running. if you want to write out to XML/JSON, they're equally as simple! try both, then start adventuring out to MongoDB or something.
I like Xcode a lot. I'm already much more comfortable in it than I was when I started playing around with Java/Eclipse.
ah, you haven't used it long enough to hate it yet ;) I have a strained relationship with Xcode, but we make it work <3<3