During their careers, every developer must face the question several times that whether they should use an existing solution in their project, or write a new one from scratch. Generally speaking, an own development is better because you will know its inner workings in details and you don’t have to learn how other developers’ code can be used. However, sometimes it’s more economical to use a well-coded open source library, so you will have more time (and energy) to work on other components of the project.

What parts of your app should be coded by you, what problems should be solved using frameworks, packages, or any other existing tools? This article is aimed to help you decide such questions by listing some great github repos.

1. https://github.com/rs/SDWebImage

If your mobile application uses an online data source, in this particular case downloading images, it’s worth considering the use of SDWebImage: a resource downloader that is capable of displaying images in UIImageView. It’s quick, asynchronous, does not block the main thread, made with the latest technologies (GCD, ARC), and very simple to use. Furthermore, it can be integrated easily and provides a comfortable solution during the development process.

2. https://github.com/shiki/STableViewController

Nowadays it’s a popular technique in iOS applications to refresh a table’s contents automatically when it’s grabbed and pulled down. Another one is called infinite scrolling, displaying new content continuously with no end in sight. With this excellent class, both techniques can be easily added to your application.

3. https://github.com/romaonthego/REComposeViewController

This source is a great choice for developers who are targeting iOS5 and want to integrate social composers in their app. The code offers an easily customizable solution, after some basic settings you can create your own popups and share content to, as its creators say, any social network out there.

4. https://github.com/nicklockwood/StandardPaths

A very simple, yet very useful class: it returns the standard paths of application directories, so you don’t have to deal with the difficulties that arise from developing for different iOS versions.

5. https://github.com/honcheng/iOSPlot

Those who know the core-plot framework hosted at Google (http://code.google.com/p/core-plot/), may already know what this class is about. iOSPlot is a diagram plotting framework, and it’s most useful for those who don’t need the robustness of core-plot. It’s very simple to use, needs ARC and also runs on iOS5.

6. https://github.com/edgecase/ECSlidingViewController

Yet another popular technique today is accessing content with a swipe from the sides. This source exactly does that in an elegant and pleasing manner.

7. https://github.com/domness/DWTagList

An easy-to-integrate solution to draw labels in a view. This UIView extension consist of only two files, no better or more useful can be found. Really worth a try.

8. https://github.com/baztokyo/foursquare-ios-api

Foursquare did not release its own iOS framework, so enthusiast developers did the job. Every main feature is wonderfully integrated: authentication, check in, photo sharing, getting location information. The only disadvantages are that it does not support ARC and only works on iOS5 with a JSON framework.

9. https://github.com/tonymillion/Reachability

With this source you can replace Apple’s Reachability class and get information about the availability of a Wi-Fi, Bluetooth or network connection on your iOS device.

10. https://github.com/tomaz/appledoc

Last, but not least, a tool that automatically generates Apple-like source code documentation. If you take some time to learn how to use it, you can quickly create a complete developer documentation once your project is finished.