CocoaHeads Slides from Building a Modern App
You can now download the slides from the Building a Modern Mac OS X App talk I gave at CocoaHeads on Thursday. Joar and I put together our talks within about 48 hours, so keep in mind this isn't as polished or complete as we'd like.I believe there was an audio recording of both of our talks, so we'll see when that surfaces.
CocoaHeads Slides from Building a Modern App
Posted Dec 16, 2007 — 7 comments below
Posted Dec 16, 2007 — 7 comments below
Troy — Dec 17, 07 5212
The slides make mention of using the highest level of abstraction possible. I'm currently working on my first Cocoa App that is intended to do a fair bit of image drawing with my custom views. I have started building parts of the interface with NSImage, etc... but feel like im running in to some limitations that appear to be easy to achieve using Core Image. Should I just drop NSImage all together and just focus on being good at the Core Image framework, and if so, then what's the point of NSImage?
Scott Stevenson — Dec 17, 07 5213
NSImage and CIImage don't do exactly the same things. There's some overlap, but deciding which one to use really depends on what you're doing.
It's hard to sum both up in a few sentences, but basically NSImage is a container for NSImageReps. The representations can be bitmaps or vectors, and the idea is that NSImage chooses the best one for the context. CIImage is more built around filters and transformations of bitmaps and makes use of the graphics card for faster performance in certain areas.
If it looks like Core Image will work better, go ahead and use it. If you're not doing a lot of filtering and transformations, though, there's probably not much to be gained by using switching.
If you can be more specific about what you're working on, I can give more specific suggestions.
Mike Nowak — Dec 17, 07 5219
Scott Stevenson — Dec 17, 07 5220
Learning all three at once would probably be a bit much. I would say go ahead and use Objective-C 2.0 syntax (fast iteration, properties, dot syntax) because the benefits are substantial and are as easy to learn as the rest of the language.
Bindings is pretty straightforward for simple cases, but you could wait. As intermediate step, you could use it just for setting up user Preferences. It's incredibly easy to use for that case and very helpful.
Most people would say that Core Data is too advanced as a beginner topic, and I think that's probably true. But I think you should learn it as soon as you are able. I think most apps can benefit from using Core Data in some way.
JD Elliott — Jan 11, 08 5340
Joe — Feb 15, 08 5493
Glenn — Jun 05, 08 6020
http://video.google.com/videoplay?docid=1503992766793111462