2010-10-01 8 views
8

Actualmente estoy leyendo el libro de Aaron Hillegass "Cocoa Programming for Mac OS X", ya que es muy recomendable en toda la comunidad. Me pregunto si existe una gran diferencia entre "Cocoa Programming" y el desarrollo de iPhone. Estoy más interesado en el desarrollo de iPhone, pero pensé que el desarrollo de iPhone sería más fácil de recuperar si me sentía cómodo con Cocoa antes de seguir adelante.Diferencias entre el desarrollo de Cocoa y iPhone

Respuesta

6

La programación de iPhone es una forma de Cocoa (técnicamente "Cocoa Touch"). Comparte casi todos los mismos modismos de programación, y hay una gran superposición en los marcos.

El libro de Hillegass es un excelente punto de partida para cualquiera de los dos. Después del capítulo 7 en Hillegass, comenzarás a abordar más temas de "Mac" como la administración de ventanas de documentos, etc. Nada de esto es malo de entender, pero es allí donde comienza a diferir en los detalles, y encontrarás que no se traducirá de manera tan directa.

Los patrones que le enseñe a pensar serán útiles en todos los casos. Pero las clases y los objetos reales que utiliza para las cosas de Mac no tienen todas las equivalencias en el mundo del iPhone. En iOS, la administración de vistas (UIView) es bastante diferente de las cosas de NSView de Mac. De hecho, es más simple y fácil de entender en el iPhone.

Hillegass tiene un nuevo libro específico para iPhone. No he navegado aún.

+0

Solo quería decir lo mismo. El libro de Hilegass es genial, pero después de un tiempo, se vuelve bastante específico para Mac. – Phlibbo

+0

Gracias. Estoy en el capítulo 21 o.O ... creo que solo hay alrededor de 34 capítulos, así que supongo que también podría terminar. Simplemente no quería perder el tiempo si fueran dos mundos diferentes. –

2

La mayor diferencia es que no hay recolección de basura en la programación de iPhone. Hará mucho retener y lanzar llamadas que no son necesarias en MacOS Cocoa.

Una segunda diferencia es que algunas de las clases de Apple son diferentes. En general, algunos de los métodos menos utilizados se han ido de las versiones de las clases de iPhone.

Por último, tiene todas las clases de UIKit como UITableView, UITouch, etc., que no tienen contrapartes en MacOS.

+0

IIRC, tiene que habilitar explícitamente la recolección de basura en OS X, y solo está disponible desde 10.5 de todos modos. –

Cuestiones relacionadas