2010-07-26 9 views
33

Soy principalmente un desarrollador de C# y me han encargado la funcionalidad de "portar" desde algunas aplicaciones a una de iPhone.¿Los desarrolladores de C# guían al objetivo C?

La funcionalidad es bastante simple, y el lenguaje es un idioma, así que pensé: "seguro, ¿por qué no? ¡Esto será divertido!" ... Eso es hasta que eché un vistazo al Objetivo C, que, para mí, es feo, rayano en ilegible.

Teniendo en cuenta que mi fuerte es primariamente C#, y estoy un poco familiarizado con C++, ¿dónde puedo encontrar una buena guía adaptada a mi experiencia para que me mueve en Objective C?

+2

En una situación similar a mí mismo - sin duda sería bueno escuchar algunas recomendaciones y anécdotas de esta transición. –

+0

Al recopilar información, me complacerá compartir lo que encuentre en este hilo. Realmente necesita ser la piedra Rosetta de un programador en alguna parte. –

+1

Te advertiré, una vez que entres en Objective-C, puedes empezar a pensar que C# es feo (mi primera reacción a Objective-C fue la misma que la tuya, pero es mi idioma favorito ahora. – JeremyP

Respuesta

7

El único tomo que recomiendo para aprender Objective-C para personas que vienen a ObjC desde muchos fondos, es Kochan.

2
+0

Realmente consulté primero a los googs, pero mis habilidades de búsqueda deben faltar porque no vi nada de eso. –

+0

@blesh: no hay problema. Solo tiro algunos enlaces que encontré interesantes. – Randolpho

4

Verdaderamente recomiendo que consulte MonoTouch:

http://monotouch.net/

Te permite desarrollar para el iPhone usando C#. Probablemente puedas reutilizar un montón de tu código existente y solo concentrarte en crear una agradable interfaz de usuario de iPhone. Aún necesitas desarrollar en una Mac, así que lo necesitarás.

EDIT: La preocupación por el uso de MonoTouch que se ha planteado aquí ya no es un problema ya que Apple ha cambiado su política

http://www.apple.com/pr/library/2010/09/09statement.html

He quitado mi advertencia de que (para el mejor!) MonoTouch puede violar los términos de servicio de Apple. Que yo sepa, ningún desarrollador MonoTouch ha tenido su aplicación rechazada por Apple y ahora oficialmente ya no es una preocupación.

+0

¿Por qué el voto a favor, ¿Puedo obtener una explicación? – Justin

+3

Necesita desarrollar aplicaciones para iPhone en C, C++, Objective-C o Objective-C++ (aplicaciones nativas) o JavaScript (solo se ejecuta en la parte superior del WebKit). Esto está claramente establecido en la sección 3.3.1 del acuerdo de desarrollador. No tiene que gustarle, pero así son las cosas. Y no son los términos de la licencia de iOS 4.0, que entraron en vigencia antes de que se lanzara 4.0, y se aplican a todo lo enviado a la tienda después de ese momento. – jer

+2

+1 - @jer Al parecer, no está claro para el equipo de Monotouch; consulte su sitio para obtener más información. Varias aplicaciones de MonoTouch han sido aprobadas desde el último lanzamiento, así que no creo que sea un freno al show. –

1

Como otros han sugerido, MonoTouch puede ser la mejor opción para usted. A pesar de la sección 3.3.1 de Apple, aún no se han rechazado las aplicaciones MonoTouch de la App Store, y siempre puedes distribuir las aplicaciones MonoTouch a través de la distribución Enterprise si esa es tu situación. Si no quiere salir de su zona de confort, quédese con C# /. Net. De esa manera solo tienes que aprender un nuevo marco de interfaz de usuario.

Dicho esto, muchos buenos desarrolladores encuentran que aprender un nuevo idioma es una oportunidad para expandir su forma de pensar, más allá de ser simplemente divertido. Objective-C tiene una historia muy interesante y es (al menos) parte de la inspiración para muchos lenguajes "modernos". El objetivo declarado de Objective-C era facilitar la integración de los componentes del software, de ahí su interesante mezcla de tipado estático y despacho dinámico de mensajes.Sus comentarios sugieren que ha tenido una visión bastante dura del idioma. Muchos de nosotros tenemos la misma reacción ante cualquier nuevo entorno, lenguaje, etc. Dale tiempo y es posible que descubras que las características especiales de Objective-C superan la "fealdad" que ves ahora.

En términos de aprendizaje Objective-C, Aaron Hillegass 'book es prácticamente la Biblia. Está orientado a OS X, pero deberías poder tomar los bits apropiados de iOS de él. Además, la guía de Apple Objective-C Programming Language es muy buena.

+0

Aprendí Objective-C con el libro de Aaron Hillegass. Él también tiene un libro de programación de iPhone. Si es tan bueno como el libro de Mac OSX, será un buen punto de partida. – JeremyP

+0

A pesar de mi respuesta anterior, realmente me gusta Objective-C. Tengo un punto débil en mi corazón por los días NeXTStep y siempre deseé que GNUStep hubiera tenido un gran impacto. – Justin

0

Cocoa y Objective-C: Arriba y Ejecución de

por Scott Stevenson

http://cocoabook.com/

+0

Tengo que amar los libros de O'Rielly para obtener imágenes aleatorias en la portada, lol. Gracias lo comprobaré. –

1

para conseguirse que se mueve en Objective C tome introducción de Kochan a Objective-C, se familiaricen con los conceptos básicos del lenguaje - clases, objetos y métodos en particular - y luego intente crear una herramienta de línea de comando compatible con SnowLeopard para establecer el valor de sonido del sistema entendiendo el diseño Objective-C del siguiente código SoundVolume:

http://www.cocoadev.com/index.pl?SoundVolume (código de Ryan)

1

Como desarrollador de C# que debe encontrar las Cacao & Objective-C artículos de Kevin Hoffman bastante interesante (esp. en su blog dotnetaddict). Uno de sus proyectos es el libro (planeado) "Cocoa and .NET Programming".

http://kevinhoffman.sys-con.com