ChilenoMac: Mac OS X a la chilena

marzo 17, 2010

Cocoa: aprendiendo a escribir

Hace algún tiempo, hablábamos acerca de cómo hacer un navegador sin escribir ni una sola línea. Pero la verdad es que, aunque existen varias técnicas para escribir menos código en Cocoa, es necesario escribirlo.

Pero eso hace surgir algunas preguntas. Por ejemplo, ¿qué se escribe? ¿cómo se escribe? ¿a quién se escribe? ¿dónde se escribe? y probablemente algunas más, pero tampoco se trata de saturar al hipotético lector. Sin embargo, veremos ahora, después del salto, la manera de responder a algunas pocas de éstas de forma satisfactoria.

Para partir, resumamos un poco qué es Cocoa (o Cocoa Touch, en el iPhone, iPod y iPad). Cocoa es una serie de clases, imágenes, sonidos, ventanas, paneles, y distintos tipos de objetos, organizados de manera coherente y que los programadores pueden usar y reusar para elaborar aplicaciones. Esto se llama framework. Cocoa es uno de los frameworks que podemos usar en un Mac y es por lejos el principal. Una de las ventajas de usar un framework bien diseñado —y Cocoa lo es— es que podemos reutilizar los mismos elementos, es decir, no es necesario reinventar la rueda cada vez que queremos crear una ventana, o un botón, o un cuadro de texto: basta y sobra con reutilizar el que nos ofrece Cocoa y si es necesario personalizarlo un poco, cambiar su título, ponerle una imagen, etcétera. Este es un concepto que existe en otros sistemas operativos, por ejemplo en Windows con .NET o incluso se puede llevar a la red, con plataformas como Capuccino.

Todo esto se apoya en la programación orientada a objetos, es decir, crear distintas «entidades» que saben hacer algunas cosas y saben comunicarse entre sí. Por ejemplo, un caso típico en Cocoa (o Cocoa Touch) es que las tablas (que son objetos) no saben qué mostrar, pero sí saben que pueden preguntarle a otro objeto que sí contiene la información. Todos esos objetos se crean usando código (aunque algunos se usan como en el navegador, arrastrando y soltando, eventualmente alguien escribió el código).

¿Pero cómo se escribe?

Cocoa admite varios lenguajes para escribir: python, ruby, incluso en un tiempo era completamente abierto a java. Sin embargo, su lenguaje nativo (y el único disponible en iPhone y iPad) es Objective C.

Este lenguaje es un poco desconocido, en gran parte porque casi sólo se usa para programar para dispositivos de Apple, y ya sabemos que no es la gran mayoría. Su principal característica es su enfoque completo a objetos. ¿Cómo funciona eso?

Pues bien, supongamos que tenemos un objeto que es de clase Perro y se llama fido. Todos los perros bien educados saben hacer algunas cosas: ladrar, rascarse, sentarse, hacer el muerto. Entonces, a nuestro fido podemos mandarle un mensaje diciendo qué queremos que haga de la siguiente manera

[fido sit];

Y con eso fido se sienta. Una cosa importante es que nosotros no necesitamos saber cómo hace el perrito para sentarse, eso queda completamente a gusto de él. Lo que sí sabemos es que se sentará. Eso se llama encapsulamiento y es parte importante de la programación con objetos.

También podemos pedirle al perrito que ladre tres veces. Eso lo hacemos de forma parecida a la anterior, pero necesitamos decirle cuantas veces debe ladrar. La manera de hacerlo es

[fido ladra:3];

O podemos pedirle que ladre tres veces y se rasque 2

[fido ladra:3 rascate:2];

Lo único importante es que el perro efectivamente tenga definido como realizar estas acciones. Eso es algo que sabrá hacer si la clase Perro lo define. Si no, cuando le mandemos el mensaje nuestro programa se caerá.

¿Y cómo sabemos que está definido? Si creamos nosotros al Perro, lo podemos definir. Pero eso queda de tarea para la próxima semana.

¿Y dónde se escribe?

Cuando hacíamos nuestro navegador, bajamos la suite de programación para Mac, Xcode. Ésta también está disponible desde el dvd con el sistema. Usando Xcode, podemos escribir todo tipo de aplicaciones. Si alguien no la tiene, puede encontrarla en la zona de desarrolladores de Apple, http://developer.apple.com/ y es una descarga gratuita, aunque exige crear una cuenta, también gratuita, como desarrollador.

Para resumir, este es un artículo de introducción. Programar no es difícil, pero requiere tiempo y aprender a manejar Objective C junto a Cocoa no es rápido. Sin embargo, para quien le guste, es completamente entretenido. Desarrollaremos algunas de las ideas básicas en siguientes entregas, pues son en realidad varias. ¡Saludos!

2 comentarios »

  1. Muy buen post, espero ansioso la segunda parte

    Comentarios por JonySniuk — marzo 17, 2010 @ 5:10 pm | Responder


RSS feed for comments on this post. TrackBack URI

Deja un comentario

Crea un blog o un sitio web gratuitos con WordPress.com.