Open source Objective-C projects with high quality code?

Objective CCocoa

Objective C Problem Overview


I think one of the best ways to learn a new programming language is to dive into source code and see how experienced coders write. I've found this kind of question asked here on Stack Overflow for other languages, but none targeted at Objective-C. The closest I've found is this question about good-looking Cocoa user interfaces, but I'm thinking in terms of general code quality, such as good use of idioms and design patterns, and usable documentation. Another good characteristic would be a code-base that is large enough to require real organizational discipline, but small enough that a beginner can fit his/her head around.

What do you think is a high-quality open source project that meets these criteria?

Objective C Solutions


Solution 1 - Objective C

There's a decent list of open source Mac projects on CocoaDev: http://cocoadev.com/CocoaOpen

Not all of the projects are still active, but a decent number of them are. I particularly recommend:

Solution 2 - Objective C

I've found Adium to be a well-designed and written Objective-C project. It has a huge codebase, too.

Solution 3 - Objective C

I don't think there's any one place to learn all the Objective-C idioms and best practices, but you can pick them up here and there over time and practice. Cocoa mailing lists and blogs are good resources for this. (There are several SO questions relating to that.)

I haven't dived into the source myself, but the Omni frameworks are well-respected in the Mac community.

I work on a framework of my own that's still rough around the edges, but I strive for quality documentation in addition to understandable, well-structured code.

Solution 4 - Objective C

Google Quick Search Box [ qsb-mac - Google Code ]

I think The Google Quick Search Box (QSB) is worth a look. IMHO it's pretty much a cleaner googley rewrite of Quicksilver (Note: N. Jitkoff, the QS programmer, is also involved in the Google QSB).

Solution 5 - Objective C

Apple has tons of downloadable examples on their developer website. You get to see the source, and the license is BSDish from what I recall (use it for whatever, but don't repost original code without the license).

http://developer.apple.com/samplecode/Cocoa/index-date.html

Solution 6 - Objective C

Check Out lots off open source project here.

http://code4app.net

http://code4app.com

https://www.cocoacontrols.com

Solution 7 - Objective C

Here's a test app I wrote earlier today. Download links under “get source” in the top-right.

It's small, but it demonstrates good organizational discipline (separate controller object, instead of everything crammed into AppDelegate), a simple model layer with one model class (Header), and correct use of Cocoa Bindings.

Solution 8 - Objective C

I used to work on the GNUstep sources, they've got a good consistent coding style and the code is well-organised. Of course the project is hardly small, but given that you know what most of the classes do as you've used them in your Cocoa projects it's easy to zoom in on a piece that interests you. Some of the GNUstep Applications Project or Étoilé apps may also be a good place to start.

Solution 9 - Objective C

Check out PSTreeGraph, a view control for iPad applications.

Solution 10 - Objective C

[iMedia Browser][1] [1]: https://github.com/karelia/imedia

, shows support of 10.4 - 10.7 strategies, is neatly and purposefully organized, and deeply commented. inherent problems using ImageKit have been boldly approached and solved.

i aspire to this level of thought mixed with practicality.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionalanlcodeView Question on Stackoverflow
Solution 1 - Objective CDave DeLongView Answer on Stackoverflow
Solution 2 - Objective CmipadiView Answer on Stackoverflow
Solution 3 - Objective CQuinn TaylorView Answer on Stackoverflow
Solution 4 - Objective Cf3lixView Answer on Stackoverflow
Solution 5 - Objective CMark BolusmjakView Answer on Stackoverflow
Solution 6 - Objective CAmitView Answer on Stackoverflow
Solution 7 - Objective CPeter HoseyView Answer on Stackoverflow
Solution 8 - Objective Cuser23743View Answer on Stackoverflow
Solution 9 - Objective CPreston SoftwareView Answer on Stackoverflow
Solution 10 - Objective CluluView Answer on Stackoverflow