I want to use three20's TTThumbsView & TTPhotoView to build something like Grindr. Instead of (1) subclassing these classes, I'd prefer to (2) analyze them and build take the necessary code & tweak it accordingly. Why? Because my concern is that option (1) will increase the download size of our app & slow it's performance. (Another thing I want to ues is three20's caching, but I don't really understand it because right now we're using Core Data. How does three20 caching work?)
If I'm only using part of three20, when I compile the app, will it also build in the other code that's not being used? Or will it leave it out? If it leaves it out, then that gives me some hope that maybe option (1) won't make the app a lot larger to download.
In terms of performance (speed). Will three20 run fast? There's a lot of subclassing going on. Doesn't that slow things down? The Facebook iPhone app seems pretty good, and that uses three20, right?
What do you think?
Thanks!
Matt
There's quite a few questions here:
Analysing the three20 code: People often try this, but it seems not many people have success with this. Here's an example of one project that gave up: http://github.com/enormego/PhotoViewer (the history is all in git I believe, so you can go back and see what they achieved before they gave up)
Three20 caching: can't help you there; you might want to ask a separate question about that. Generally it's best to only ask one question per question :)
Size of three20: I believe these views have a lot of dependencies other three20 classes, so whilst only the necessary code is built in, that's actually quite a lot of code.
Speed: Yep, it's what the iphone facebook uses, so you should be fine there. In fact that's the main reason people use three20 - it's very difficult to do a fast, good photoviewer, and three20 is the only open source project I'm aware of that has done it.