The Facebook 3.0 iPhone app was available in App Store in Aug, 2009. The new Facebok app came with lots of new features that earlier versions didn't have. But it came with even more UI features than were ever before seen in any other iPhone app. Would it be easy to develop an app for the iPhone similar to the Facebook 3.0 app?
The answer to that is YES, thanks to the open source project, which was used to build the Facebook 3.0 app. Three20 is an Objective-C open source project for iPhone developers. This framework provides different Controllers that can't be found in UIKit. Three20 Controllers can't be used with an Interface Builder like UIkit Controllers. Nevertheless, they are really simple to implement with Obj-C and each Controller has even more functionalities than the standard Controller.
A common problem when dealing with UITableViews is images. UITableView expects to have all the information ready before building it. It becomes a headache when we have to download images from an external server for each Cell of the Table, because all images must be done before building the Table. The common solution is multithreading in order to download images. To save the image in the file system once it is downloaded requires lots of lines of code (to find out the proper directory to store the image, store the image in a file ...).
Three20 provides useful and easy-to-implement Controllers to avoid dealing with all the problems of creating UITableViews with custom cells with images, e.g. TTTableViewController, TTTableViewDataSource, TTURLRequest. TTTableViewController supports building tables with information from the internet and TTURLReques caches the data into the disk and not in the memory like NSURLRequest.
By now the lack of documentation is the real problem, but sample codes speak for themselves. This framework takes the iPhone User Interface to the next level. And we are still looking forward to all the features that each Three20 Control can provide.