Programacion en Cocoa para Mac OS X
Mi principal lenguaje de programacion (debido a que en la empresa donde laboro desarrollan para Apple) es el Objective-C, basado en el Framework Cocoa, desarrollado por la misma Apple, y que pretende ser el entorno perfecto para desarrollar aplicaciones en plataforma Mac.
Lo curioso de esto es que siendo mi lenguaje principal (Seguido de PHP claro, no olvido mis principios), no he escrito nada sobre este lenguaje/plataforma ni siquiera una menciíƒÂ³n ni mucho menos un tutorial.
Es por eso que esta vez me puse a la tarea de idear un buen ejemplo de programacion en Cocoa, algo que fuese sencillo, facil de entender, con el que pretendo iniciar un proceso de recoleccion de guiÂas basicas para el entorno, ya que en todo el tiempo que llevo en esta plataforma me he dado cuenta que la documentacion disponible para el framework es relativamente poca, comparado con Java por ejemplo, que si escribes en algun foro rapido consigues respuesta en nuestro idioma.
Bien dejemonos de palabras y vayamos a lo que nos importa, en esta entrega hablare un poco de los principios basicos del lenguaje. – Si ya sabes un poco sobre lo que es Xcode, Interface Builder, Outlets y Actions puedes brincarte esta parte e ir al ejemplo -
Primero que nada dejenme explicarle que Apple proporciona una serie de herramientas para el desarrollo de aplicaciones en esta plataforma, por el momento solo mencionare las basicas y principales, en un futuro les traere un tutorial mas avanzado.
Herramientas del Entorno
Xcode
Este es el IDE principal de desarrollo, en el se crean los proyectos, se edita el codigo fuente, etc.
Interface Builder
Este IDE es el encargado para el diseño de nuestras interfaces de usuario, con unas cuantas instrucciones puedes conectar las interfaces con el codigo fuente (el cual radica en Xcode).
Los archivos .nib son los que guardan toda la informacion referente a la interfaz de usuario diseñada en el IB, el cual contiene Outlets y Actions, veamos un poco sobre ellos.
Outlets
Son las declaraciones de todos los elementos manejables, por ejemplo un textbox, un label, la misma ventana, etc…
Actions
Estas en pocas palabras son las acciones que realizara la interfaz, por ejemplo la accion de un boton, etc…
Cabe destacar que no son definiciones oficiales, son definiciones hechas por mi, para simplificar el proceso de entendimiento, ya que en la documentacion del lenguaje encontraras otras definiciones mas completas y un poco mas enredosas.
Modelo MVC
El lenguaje es puramente orientado a objetos, y como se imaginaran tambien se basa en el diseño mediante patrones, otra vez esos, pues si, los patrones son parte fundamental en el diseño de un software de calidad, y Apple lo sabe muy bien asi que forza a los desarrolladores a usar este patron para todas las aplicaciones que hagan. Se trata del MVC (Modelo, Vista y Controlador, por sus singlas en ingles).
Para los que no lo conozcan aqui les va una breve explicacion del mismo, se basa en tres capas, (algo parecidas a las capas de la Web de las que les hable hace un tiempo en mi Blog), veamos a continuacion:
- Modelo (Model): se trata del modelo de datos con el que va a contar la aplicacion, es decir, la base de datos (en dado caso que sea necesario), como lo dije antes Cocoa es puramente orientado a objetos, por ende, su modelo de bases de datos tambien son orientadas a objetos.
- Vista (View): Esta capa no es nada mas que la interfaz del usuario.
- Controlador (Controller): como ya se imaginaran esta es la capa de mas bajo nivel, es donde se encuentran las verdaderas lineas de codigo, se compone de las clases con sus respectivos atributos (Outlets), y metodos (Actions).
Convertidor de Divisas
Despues de la breve introduccion al entorno de desarrollo maquero vayamos al motivo de este artiÂculo. Se trata de un pequeño ejemplo en Cocoa, usando el MVC.
Este ejemplo es clasico en el aprendizaje de Cocoa, solo que yo le he agregado unos detalles que no vienen en el ejemplo original, el cual es un espacio para mostrar el Impuesto, y un boton para limpiar y volver a empezar.
Creacion de un proyecto en Xcode
Empecemos por abrir el Xcode, (para los que no saben, se encuentra en ~/Developer/Applications/). Una vez abierto procedamos a crear una aplicacion Cocoa, Ver figura 1.

Figura 1 – Seleccion del tipo de proyecto
Una vez seleccionado el tipo de proyecto, procedamos a ponerle nombre, en mi caso le llamare El Convertidor (jaja, lo siento no se me ocurrio un nombre mejor), una vez hecho esto damos click al boton Finalizar, enseguida nos mostrara la ventana principal del IDE, muchos (si no es que todos) pensaran que es algo raro, ya que efectivamente es totalmente diferente a todas las IDE’s del otro mundo, pero una vez obtenida la practica te daras cuenta que es muy facil de manejar, en este ejemplo me saltare algunas explicaciones obvias, en cualquier caso que alguien quisiera mas informacion sobre ellas no dude en enviarme algun mail, con gusto les contestare.

Figura 2 – Ventana del Proyecto
Una vez creado el proyecto procedamos a crear la interfaz, la cual contendra 5 etiquetas, 5 cuadros de textos y 2 botones. Para eso vamos a dar doble click al archivo mainMenu.nib.

Figura 3 – GUI de la aplicacion
El siguiente paso es crear los Outles y Actions, para eso lo primero que haremos es una clase, la que sera nuestro controlador. Para lograrlo vamos a la ventana de control dentro del IB, mostrada en la figura 4.

Figura 4 -
Start Slide Show with PicLens Lite


[...] desarrollar una aplicación para iPhone es de la misma manera que lo haces para Mac OS X, es decir, xcode, cocoa, objective-c, [...]
Hola me interesa aprender programar en mac, estaba siguiendo tu tutorial pero nos e donde sigue la 2da parte.
Gracias
Es cierto lo que dice Alfredo Juarez, no se encuentra la segunda parte, yo tambien estoy muy interesado en acabar de aprender objective-c con xcode.