ultima tutorial programaciĆ³n objective lenguaje ejemplos caracteristicas java c++ objective-c cocoa osx

java - tutorial - objective c vs swift



El desarrollador de Java se encuentra con Objective-C en Mac OS (6)

Me he desarrollado en C ++ hace muchos años, pero en estos días soy principalmente un ingeniero de software Java. Dado que tengo un iPhone, estoy listo para la primavera para una MacBook el mes que viene, y estoy interesado en comenzar con el desarrollo de Mac OS (usando Objective C), pensé que simplemente haría esta pregunta: ¿Qué sigue?

Más específicamente, ¿qué libros debería elegir, y hay algún recurso web que algunas personas puedan señalarme? Algunos libros que planeo comprar:

¿Alguien familiarizado con estos títulos? Finalmente, estaría muy interesado en un resumen de lo que debería estar preparado para esperar, una vez que me embarque en este viaje. Como alguien que se desarrolla en Java usando IntelliJ IDEA, ¿cuáles son algunas diferencias clave que notaré a medida que me muevo a escribir código ObjectiveC en Xcode? ¿Cuál es la diferencia entre el desarrollo de escritorio de Mac OS y el desarrollo de iPhone? Al estar acostumbrado a la recolección de basura de Java, ¿qué debo saber sobre la recolección de basura / gestión de memoria de ObjectiveC? ¿Algún otro problema específico del lenguaje que alguien quisiera señalar? ¿Qué hay de construir UI? ¿Está más cerca de Swing, creando archivos de recursos de Visual C ++ con los que el código interactúa, o se parece más a algunos de los IDEs de Borland que generarán código para guis?


¿Ya estás familiarizado con los corchetes?

Aquí hay un resumen de su razón de ser desde mi punto de vista. Espero que esto también ayude.


Creo que te sentirás bastante desnudo al saltar de IntelliJ a Xcode. Pero esto es solo desde una perspectiva de herramienta. ¡Trae ropa extra (TextMate + FScript)!


Después de haber comprado ambos libros en su pregunta, recomiendo Cocoa Programming para Mac OS X como una forma rápida de aprender el lenguaje y el marco de trabajo de Cocoa, y es probablemente la forma más rápida de comenzar a producir aplicaciones reales en Cocoa. Lo recomiendo altamente. La programación en Objective-C 2.0 es un excelente libro de consulta, pero si ya conoces C, no hay mucho que te enseñe que no puedas obtener del otro libro. Sin embargo, si alguna vez necesita una lista de todas las palabras clave reservadas en Objective-C, ese es el libro al que debe dirigirse.

Toda la interfaz de usuario se puede generar de manera progmática, pero le resultará mucho más fácil utilizar el Interface Builder, que viene con XCode, para diseñar la interfaz de usuario. Terminarás con mucho menos código. Con enlaces, incluso puede eliminar código que no está directamente relacionado con la disposición de la interfaz. Los detalles están en el libro Cocoa Programming for Mac OS X.

Lo único que extraño de Java es la API de recopilación. En Cocoa, acaba de obtener NSSet, NSArray y NSDictionary, y no hay ningún análogo para la interfaz Comparable. Estas clases también son inmutables, pero tienen versiones mutables como NSMutableArray.

De hecho, no he jugado con la recolección de basura en Objective-C 2.0. En versiones anteriores de Objective-C, la administración de la memoria se manejaba mediante los métodos de retención, liberación y liberación automática. Los objetos se crearon con un conteo de retención de 1. Retener incrementó ese conteo, soltarlo, disminuirlo y liberar objetos automáticamente es un poco más complicado. De nuevo, el libro de Programación de Cocoa lo explica bien. La recolección de basura es una opción, y si está activada, los métodos de retención, liberación y liberación automática no hacen nada. Sin embargo, si está escribiendo una biblioteca o marco para ser utilizado por otros, debe programarlo como si la recolección de elementos no utilizados estuviera desactivada. De esa forma, las aplicaciones pueden usarlo si tienen o no activada la recolección de basura.

En cuanto a los recursos web, http://cocoadevcentral.com/ es un gran sitio con tutoriales para principiantes. El Wiki de CocoaDev en http://www.cocoadev.com/ contiene información detallada sobre muchos temas, y generalmente puede encontrar información útil y personas en la lista de correo de cocoa-dev http://lists.apple.com/ mailman / listinfo / cocoa-dev

El desarrollo de iPhone es un poco diferente, y los detalles están restringidos por un NDA. Sin embargo, si Apple lo aprueba para obtener acceso al centro de desarrolladores de iPhone, Apple proporcionó excelentes descripciones de video de las diferencias, que le indican la documentación que necesita para pasar de la programación de Mac OS X a la de iPhone OS X.


Obtenga Cocoa Programming para Mac OS X. La mayoría de sus preguntas serán respondidas por ese libro. También puede comenzar a leer Become an XCoder y Cocoa Dev Central .

El SDK de iPhone todavía está bajo NDA por lo que no podrá encontrar ningún recurso en línea sobre él, excepto el proporcionado por Apple.

Cocoa UI se basa en MVC. Utiliza Interface Builder para diseñar sus vistas y luego vincularlo a sus modelos y controladores. El objetivo C es una mezcla de C y Smalltalk.


Otra opción para ti es jaiPhon, que te permite escribir aplicaciones java que se traducen al iPhone en tiempo de compilación.

No sé si todavía está disponible, si es un artículo comercial o lo que sea, pero es interesante, no obstante.

http://www.jaiphon.com/


También mira esto:

http://www.xmlvm.org/overview/

Es un proyecto que intenta ser capaz de compilar de forma cruzada programas escritos en una variedad de idiomas de origen a una variedad de idiomas de destino. Uno de los casos de prueba iniciales fue escribir programas en Java y ejecutarlos en un iPhone. Ver el video en el sitio vale la pena.

Dicho esto, no lo he intentado. El proyecto parece bastante beta, y no hay mucha actividad en su sitio SourceForge.