Programacion en Cocoa para Mac OS X

Aug 10, 2007 3 Comments by

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 -

Share and Enjoy:
  • Print
  • email
  • PDF
  • del.icio.us
  • Facebook
  • Digg
  • Slashdot
  • Twitter
  • Technorati
  • LinkedIn
  • Netvibes
  • StumbleUpon
  • Meneame
  • Google Bookmarks
  • BarraPunto
Start Slide Show with PicLens Lite PicLens
Apple, Cocoa, Programación

About the author

The author didnt add any Information to his profile yet

3 Responses to “Programacion en Cocoa para Mac OS X”

  1. Alfredo Juarez » Blog Archive » iPhone SDK - Primeras impresiones says:

    [...] desarrollar una aplicación para iPhone es de la misma manera que lo haces para Mac OS X, es decir, xcode, cocoa, objective-c, [...]

  2. VictorNo Gravatar says:

    Hola me interesa aprender programar en mac, estaba siguiendo tu tutorial pero nos e donde sigue la 2da parte.
    Gracias

  3. IRSoftNo Gravatar says:

    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.