There’s no need to reinvent the wheel. There are a lot of libraries/components out there. Some are really good while others are bloated and try to do everything (and in the end fail to do anything).

I prefer simplicity when using third party code. It should be easy to integrate. These are components/libraries I often use:

SVProgressHUD is an easy-to-use, clean and lightweight progress HUD for iOS. It’s a simplified and prettified alternative to the popular MBProgressHUD.

SVPullToRefresh allows you to easily add pull-to-refresh functionality to any UIScrollView subclass with only 1 line of code. This is definitely the best pull-to-refresh component right now.


AFNetworking is a delightful networking library for iOS and Mac OS X. It’s built on top of NSURLConnection, NSOperation, and other familiar Foundation technologies.

I used to use ASIHTTPRequest but switched to AFNetworking because I prefer simplicity (and thus blocks). You should also check out the popular MKNetworkKit.

OHAttributedLabel allows you to use NSAttributedStrings with a UILabel to display ‘rich text’. It comes with a handy NSAttributedString category.

If you need to parse XML in your app I recommend you use TBXML. It’s light-weight and fast XML parser, in fact it’s the fastest XML parser.