I got the itch over the weekend to get back into application coding. I’ve been away doing level design for awhile now and the programming side of my brain was starting to feel neglected. So it’s time to get some book learnin’ done!
I decided to take another stab at a photo viewer. Unimaginative, I know, but it does provide a good platform for learning. I’m going to try a different tactic than I normally do. Normally, I create a monolithic application that evolves over time as I learn new things or better ways of doing existing things.
This time I’m taking it slow. I’m creating small applications that demonstrate one piece of technology that I need for the larger photo viewing application. For example, I created one on the weekend that takes a group of images and creates proportionally scaled thumbnails for them (for testing purposes, it wrote them out to my hard drive as well so I could physically see the results). After that, I started into an application to teach myself Core Data.
Core Data looks really interesting. I know that I want to store the thumbnails and tags and references to the original images in some sort of database - ideally using SQLite since the Mac has native support for that format. When I did this stuff the first time I wrote the database handling code by hand which was a major hassle so I decided to delve into Core Data this time around.
So far I’m definitely happy with what I’m seeing. Using the visual data modeler they have built into XCode is very easy and the fact that it generates the glue code to get to the database entities themselves is pretty slick. I really like how with 2 code changes you can switch from an SQLite database to an XML file. That will prove to be invaluable when it comes time to debug issues. Being able to see what was written to the database in text form makes it so nice.
I don’t have anything significant working yet but I’m on the right track here.