320: Did you ever heard about Three20?
09/05/2010 § 2 Comments
Did you ever heard about 320? It is an iPhone library that can save you a lot of work (and is easy to make it work on the iPad!).
Let me introduce you to this awesome library presenting 5 reasons to use it.
- There is some stuff that is really boring to do on the iPhone, like saving the application navigation state.. and I am not talking about the fast-switch and apps-in-background stuff that is available on iOS 4. But restoring the app state when it was actually closed. This kind of stuff is done automatically by Three20 (if you want to) and the best of it: with less memory usage. This is possible because Three20 has it’s own way to handle navigation.
- It has a growing set of common views and controllers, such the shadowed table view, lots of table view cell types ready to use, activity labels, view controllers supporting Safari and YouTube, a photo browser/thumbnail viewer and more.
- Styling: Three20 let’s you define and combine reusable styles so that you can create rounded buttons, drop shadows, gradients and so on with just a few simple declarations.
- It helps you to write good code. 320 uses a powerful table cell/item architecture that allows an easy encapsulation of the view controller, data source, data model, table item and table item cells on distinct classes. Using 320, you will have a data model that is read by a data source that creates table items to represent your model items. These table items are mapped to table item cells that are presented on your table view. And your view controller will not bother to handle stuff like the creation and returning of the cell for row at some index path (as UITableViewController does).
- If you’re building a native app that talks to web APIs, you definitely get a bunch of stuff for free like error handling for internet connection and no content problems, as well as loading views and asynchronous data handling.
Of course that you will find some issues on the library as you go further and further, but I am also sure that you will find much more reasons to use this library on your project.
Truth to be told, their docs are getting better since I started working with it, so they are working on this 😉
Anyways, give it a try and see if it fits to your project.