2009-07-01 26 views
51

Creo que una de las mejores maneras de aprender un nuevo lenguaje de programación es sumergirse en código fuente y ver cómo experimentados programadores escriben. He encontrado este tipo de pregunta formulada aquí en Stack Overflow para otros idiomas, pero ninguna dirigida a Objective-C. Lo más cerca que he encontrado es this question about good-looking Cocoa user interfaces, pero estoy pensando en términos de la calidad del código general, como un buen uso de modismos y patrones de diseño y documentación utilizable. Otra buena característica sería una base de código que sea lo suficientemente grande como para requerir una disciplina organizativa real, pero lo suficientemente pequeña como para que un principiante pueda encajar.Proyectos de código abierto Objective-C con código de alta calidad?

¿Qué opinas es un proyecto de código abierto de alta calidad que cumpla con estos criterios?

Respuesta

20

que he encontrado Adium a ser un proyecto de Objective-C bien diseñado y escrito. También tiene una gran base de código.

+0

Revisé muchas de las sugerencias aquí, y creo que esto está más cerca de lo que estoy buscando, así que comencé a estudiar la fuente de Adium. Como dijiste, tiene una gran base de código, pero afortunadamente no ha sido demasiado desalentador navegar una pieza a la vez. – alanlcode

4

No creo que haya un solo lugar para aprender todos los idiomas de Objective-C y las mejores prácticas, pero se puede recogerlos aquí y allá con el tiempo y la práctica. Las listas de correo y los blogs de Cocoa son buenos recursos para esto. (Hay varias preguntas sobre SO relacionadas con eso.)

No he buceado en la fuente yo mismo, pero el Omni frameworks es muy respetado en la comunidad Mac.

Yo trabajo en un framework of my own que todavía es áspero en los bordes, pero me esfuerzo por obtener documentación de calidad además de un código comprensible y bien estructurado.

1

Aquí es a test app I wrote earlier today. Descargue los enlaces en "obtener fuente" en la parte superior derecha.

Es pequeño, pero demuestra una buena disciplina organizativa (objeto de controlador por separado, en lugar de todo abarrotado en AppDelegate), una capa de modelo simple con una clase de modelo (Encabezado) y uso correcto de Vinculaciones de cacao.

4

búsqueda rápida de Google Caja [qsb-mac - Google Code]

Creo Google El cuadro de búsqueda rápida (QSB) es digno de una mirada. En mi humilde opinión es más o menos una reescritura más limpio googley de Quicksilver (Nota: N. Jitkoff, el programador QS, también está implicado en el Google QSB).

3

de Apple tiene un montón de ejemplos descargables en su sitio web para desarrolladores. Puede ver la fuente y la licencia es BSDish por lo que recuerdo (utilícela para lo que sea, pero no vuelva a publicar el código original sin la licencia).

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

+0

La muestra aplicaciones incluidas con las herramientas de desarrollo son un buen lugar para comenzar a aprender también. –

1

Solía ​​trabajar sobre las fuentes de GNUstep, que tienen un buen estilo de codificación consistente y el código está bien organizado. Por supuesto, el proyecto no es pequeño, pero dado que usted sabe lo que hacen la mayoría de las clases ya que las ha utilizado en sus proyectos de Cocoa, es fácil acercarse a una pieza que le interese. Algunas de las aplicaciones del Proyecto de Aplicaciones GNUstep o Étoilé también pueden ser un buen lugar para comenzar.

20

Hay una buena lista de proyectos de código abierto de Mac en CocoaDev:

No todos los proyectos siguen activos, pero un buen número de ellos son.Lo recomendamos especialmente:

1

Salida PSTreeGraph, un control de vista de las aplicaciones de iPad.

+2

Soy nuevo en iOS, estoy ansioso por usar su brillante control PSTreeGraph, pero tengo dificultades para ponerme en marcha, ¿algún tutorial quizás? – TheLearner

+0

WWDC 2010 Session 141 "Crafting Custom Cocoa Views" cubrió la implementación original en OSX con cierto detalle. Se suponía que era un ejemplo no trivial para plataformas de escritorio. Quería ver cómo funcionaban las ideas y los enfoques en IOS. Tienes razón, necesita un tutorial. –

+0

+1 ..... proyecto increíble ... – Harikrishnan

0

iMedia Browser , muestra el soporte de las estrategias 10.4 - 10.7, está ordenado de forma ordenada y prolija, y profundamente comentado. los problemas inherentes al uso de ImageKit se han abordado y solucionado audazmente.

aspiro a este nivel de pensamiento mezclado con practicidad.

Cuestiones relacionadas