Вопрос по objective-c, cocoa – Проекты с открытым исходным кодом Objective-C с высоким качеством кода?

51

Я думаю, что один из лучших способов выучить новый язык программирования - погрузиться в исходный код и посмотреть, как пишут опытные программисты. Я нашел такой вопрос, заданный здесь, о переполнении стека для других языков, но ни один из них не был нацелен на Objective-C. Ближайшее, что я нашел, этоэтот вопрос о привлекательных пользовательских интерфейсах Какао, но я думаю с точки зрения общего качества кода, такого как хорошее использование идиом и шаблонов проектирования, а также полезной документации. Еще одна хорошая характеристика - это кодовая база, которая достаточно велика, чтобы требовать реальной организационной дисциплины, но достаточно мала, чтобы новичок мог обойти свою голову.

Как вы думаете, что является высококачественным проектом с открытым исходным кодом, который соответствует этим критериям?

Ваш Ответ

10   ответов
1

PSTreeGraph, контроль вида для приложений iPad.

Сессия WWDC 2010 141 & # x201C; Создание пользовательских видов какао & # x201D; подробно описал оригинальную реализацию на OSX. Предполагалось, что это будет нетривиальный пример для настольных платформ. Я хотел посмотреть, как это идеи и подходы разыгрываются на IOS. Вы правы, для этого нужен учебник.
+1 ..... классный проект ...
Я новичок в iOS, хочу использовать ваш блестящий элемент управления PSTreeGraph, но изо всех сил пытаюсь начать работу, возможно, какой-нибудь учебник?
0

iMedia Browser , показывает поддержку стратегий 10..7, аккуратно и целенаправленно организован и глубоко прокомментирован. неотъемлемые проблемы с использованием ImageKit были смело приближены и решены.

я стремлюсь к этому уровню мысли, смешанному с практичностью.

20

Adium быть хорошо разработанным и написанным проектом Objective-C. Он также имеет огромную кодовую базу.

Я просмотрел многие из предложенных здесь предложений и обнаружил, что это наиболее близко к тому, что я искал, поэтому я начал изучать источник Adium. Как вы сказали, он имеет большую кодовую базу, но, к счастью, он не слишком утомителен для навигации по части за раз. alanlcode
4

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

Я думаю, что окно быстрого поиска Google (QSB) стоит посмотреть. ИМХО, это в значительной степени более чистый Googleyy переписать Quicksilver (Note: Н. Джиткофф, программист QS, также участвует в Google QSB).

4

что есть какое-то одно место, где можно изучить все идиомы Objective-C и лучшие практики, но вы можете найти их здесь и там со временем и практикой. Списки рассылки какао и блоги - хорошие ресурсы для этого. (Есть несколько вопросов SO, касающихся этого.)

Я не погружался в источник сам, ноOmni рамки пользуется уважением в сообществе Mac.

Я работаю надрамки моего собственного это по-прежнему грубо, но я стремлюсь к качественной документации в дополнение к понятному, хорошо структурированному коду.

1

у них хороший согласованный стиль кодирования, и код хорошо организован. Конечно, проект вряд ли мал, но, учитывая, что вы знаете, что делает большинство классов, поскольку вы использовали их в своих проектах Какао, легко увеличить интересующую вас фигуру. Некоторые из проектов приложений GNUstep или & # xC9; toil & # xE9; Приложения также могут быть хорошим местом для начала.

20

http://cocoadev.com/CocoaOpen

Не все проекты все еще активны, но приличное их количество. Я особенно рекомендую:

BWToolkit - http://bitbucket.org/bwalkin/bwtoolkit/ BGHUDAppKit - http://www.binarymethod.com/bghudappkit/ CHDataStructures - http://cocoaheads.byu.edu/code/CHDataStructures MGTwitterEngine - http://mattgemmell.com/source Sparkle - http://code.google.com/p/sparkleplus/ Colloquy - http://colloquy.info/project/wiki/Source%20Code CocoaRest - http://github.com/sdegutis/CocoaREST CorePlot - http://code.google.com/p/core-plot/
2
1

тестовое приложение, которое я написал ранее сегодня, Ссылки для скачивания в разделе & # x201C; получить исходный код & # x201D; в правом верхнем углу.

Он небольшой, но демонстрирует хорошую организационную дисциплину (отдельный объект контроллера, а не все, что встроено в AppDelegate), простой слой модели с одним классом модели (заголовок) и правильное использование привязок какао.

3

Вы видите исходный код, и лицензия, как я помню, является BSDish (используйте ее для чего угодно, но не размещайте оригинальный код без лицензии).

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

Примеры приложений, включенных в Инструменты разработчика, также являются хорошим местом для начала обучения.

Похожие вопросы