Introducción a la programación para Mac/iphone con Objective-C sábado 14 en el TelmexHub

Saludos, este sábado 14 de mayo en el telmexhub y a partir de las 11 am, tenemos reunión del grupo de desarrolladores para OSX/iOS CocoaHeads México. En esta ocasión vamos a empezar una serie de charlas para enseñar a programar con Objective-C, el lenguaje de la plataforma y punto de entrada para poder hacer aplicaciones.

La charla corre a cargo de Norberto Ortigoza, lord sith con 12 años de experiencia con el lenguaje y de un servidor, padawan con sólo 1 año pero que algo ha aprendido. Esta charla será bastante técnica, por lo que me animé a postearla aquí. Si eres programador y quieres aprender otro lenguaje que hereda bastante de SmallTalk, más viejo que Java y por ello libre de su influencia, y que maneja conceptos muy interesantes (algunos de ellos apenas los están retomando nuevos lenguajes) como Categorías, protocolos y Swizzling, ven que seguro te diviertes.

Les dejo la liga con la información del lugar y el temario oficial de la charla: Reunión de CocoaHeads México.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de rodrigo salado anaya

Solo si tengo una Mac?

Solo si tengo una Mac puedo desarrollar con Objective-C? Leyendo esta liga ( y otras más ) me responde la duda, pero pues no es Mac OS.... Lo pregunto por que yo no tengo Mac :(

Re: Solo si tengo una Mac?

Si, desgraciadamente para desarrollar iPhone en Objective C es necesario utilizar una Mac, ya que la mayoría de las librerías utilizadas para Cocoa pues las encuentras exclusivamente en Mac. Por otra parte si quieres aprender desarrollo iPhone te puedes decantar por C++ (con frameworks cómo Airplay SDK), aunque puede que te sientas más cómo con Ruby (con frameworks cómo Rhodes) y también hay opciones para los fans HTML (puedes ver Titanium).

Sin embargo cómo dices, Objective C corre sobre otras plataformas, pero las librerías de Cocoa no.

Ahh el buen Objective-C. El

Ahh el buen Objective-C. El primer dinero que recibí por programar fue usando Objective-C ( agosto de 1999, Java estaba aún en fase de aceptación en las empresas ).

De hecho Java tomó de Objetive-C varios conceptos como los protocolos que se llamaron interfaces en Java, el runtime ( a diferencia de C , C++ y otros lenguajes de la época como Visual Basic que corren directamente en el procesador ), herencia simple, el uso de primitivos ( int, long, float, double ) y varios etcéteras más.

Algo que cuesta mucho entender sobre todo a los que ya han usado otro lenguaje antes, es la sintaxis de los corchetes cuadrados porque parecen accesos a arreglos y causa confusión hasta que se entiende porque lo hiceron así. Aquí escribí algo al respecto ( en inglés ) .

Me parece que de las cosas que han cambiado desde entonces es la sintaxis para acceso a propiedades que ya usa la notación punto, pero sin duda estará muy interesante ver esta plática para actualizarse. Estuve viendo en streaming la primera reunión de los CocoaHeads la parte que hablaba sobre el uso de LLVM y se oye super interesante.

Segun yo, recuerdo que había posibilidad de bajar el SDK para Windows ( al menos el SDK del iPhone ) entonces al menos para desarrollar en iPhone debería de poderse usar.

Está chido el nombre de CocoaHeads, una obvia derivación de los BlockHeads de Smalltalk ( es block head por que la sintaxis de bloque de smalltalk parece una cabeza cuadrada   )

Suerte en la plática.

Imagen de rodrigo salado anaya

: ,( u-chales...

Pues espero que se graben la sesión o un streaming estaría de lujo.... thk @wishmaster77, haber si para el viernes en la noche junto unos 30 mil para comprarme una ( : | ) ... si como no!!

Imagen de ecamacho

Rodrigo, así es, por ahora

Rodrigo, así es, por ahora para desarrollar apps para Mac o iOS, es necesario una Mac. Hay un tool-chain para compilar en linux aplicaciones hechas con cocoa touch (apps para iOS), de hecho antes de que saliera oficialmente el SDK, esta era la única forma de programar para iOS. Ignoro si el proyecto sigue vigente.

Oscar, sip ahora puedes usar sintaxis de punto para acceder a propiedades:
objeto.propiedad = @"valor";
NSLog(@"valor de la propiedad %@", objeto.propiedad);

pero puedes seguir usando la vieja forma;
[objeto setPropiedad:@"valor"];
NSLog(@"valor de la propiedad %@", [objeto propiedad]);

Ojalá los veamos por allá, aunque seguramente volveremos a transmitir por streaming.

Imagen de ezamudio

womex

jaja sí, nunca olvidaré esa presentación "hola yo soy WebObjects México"

Re: : ,( u-chales...

Pues no necesitas 30K con que juntases 12K te bastaría para un Mac-mini o con 15K un MacBook blanquito. =P; de ahí en fuera manejate de 21K para arriba.

Re: Rodrigo, así es, por ahora

por ahora para desarrollar apps para Mac o iOS, es necesario una Mac

Nop, leer mi comentario anterior en respuesta a @rodrigo salado anaya.

Con respecto a lo de el acceso a propiedades, pues cómo que la mayoría de las personas se quedaron en la manera legacy, es decir:
 

Y pues suertota con la plática.

Imagen de bferro

@OscarRiz: El run time en VM es más viejo que Matusalén

Java no toma de Objective-C el run time.
Las máquinas virtuales y el código intermedio para lenguajes compilables existe desde hace mucho. No existían aun las PCs ni casi ningún lenguaje actual.
En el año 1977 (hace 35 años) se diseñó UCSD p-System, inventado por Kenneth Bowles de UCSD (Universidad de California en San Diego) para UCSD Pascal. Con anterioridad ya se habían muchas cosas también, pero UCSD Pascal con código p o código intermedio fue uno de los más conocidos.
En sus tiempos, UCSD Pascal e IBM Pascal fueron las implementaciones más usadas de Pascal.

@bferro yeap y en el '72

@bferro yeap y en el '72 Smalltalk ya tenía una VM, pero Patrick Naughton que formo parte del equipo original del proyecto Green menciona : [...] Yo pensaba que Objective-C era la cosa más cool desde el pan de caja y odiaba C++. Así que naturalmente me quede [en Sun] para inicial el ( eventualmente llamado ) proyecto Java. Objective-C tuvo una gran influencia.[...] ref.

Claro no fue la única influencia, ni Objective-C inventó el runtime. También mucha influencia de Smalltalk y Simula 68 de los cuales tomaron liberalmente.