Después del descontento que supuso el hecho de que la primera versión del iPhone permitiera que terceras partes desarrollaran aplicaciones que correrían únicamente en el navegador web Safari, Apple rectificó, sabiamente, y puso a disposición de los desarrolladores el SDK (Kit de Desarrollo de Aplicaciones) para programar aplicaciones nativas para iPhone. Con el reciente lanzamiento del iPhone en España, es un momento idóneo para dar a conocer los detalles de este SDK y la arquitectura software del iPhone, así como ayudar a la comunidad de desarrolladores a adentrarse en el mundo del desarrollo de aplicaciones para iPhone, algo que, sin un poco de ayuda, puede convertirse en un obstáculo para muchos.

Si bien la documentación que incluye Apple en su sección para desarrolladores es bastante buena, el hecho de que la comunidad de desarrollo con tecnologías Apple no esté muy extendida en Internet, así como el que la tecnología es muy reciente, hace difícil encontrar recursos y ejemplos de código on-line, que muchas veces son la respuesta a la mayoría de las veces donde nos atascamos. Si además nos limitamos a recursos en español, la cosa empeora todavía más. 

simulador aplicación para el iphoneDe modo que en este artículo daremos un paseo por la tecnología, las herramientas, patrones comunes utilizados, ayuda para los no familiarizados con las cosas más nuevas, y por supuesto, crearemos una aplicación de ejemplo.

Antes de empezar

Aunque muchas de las tecnologías que veremos a lo largo de este artículo puedan ser nuevas para el lector, no presupondremos ningún conocimiento previo. Explicaremos cada aspecto desde el principio e intentaremos establecer similitudes con otras tecnologías que posiblemente nos sean más familiares.

Sin embargo, Apple sí nos pone unos cuantos requisitos antes de comenzar, y el primero de ellos es tener un Mac OS X 10.5. No solo no se puede programar para iPhone desde Microsoft Windows, Linux u otros, sino que aún teniendo un Mac OS X, debemos tener la última versión del sistema operativo: Leopard y actualizada (en el momento de escribir este artículo) a la versión 1.5.5, lo cual podemos hacer gratuitamente desde la opción Actualización de Software.... El segundo requisito es tener un Apple ID, esto es, registrarse, gratuitamente, en la web de Apple. Necesitaremos este identificador para acceder a toda la documentación on-line y descargar el SDK (Software Development Kit, o kit para el desarrollo de aplicaciones), que es, por supuesto, el tercero de los requisitos, y que ocupa 1,25 GB en nuestro disco.

Herramientas

Las herramientas que necesitamos se encuentran disponibles en el DVD de instalación de Mac OS X, aunque vienen también incluidas y actualizadas en el SDK para desarrollo de aplicaciones para iPhone.

La primera y más importante es Xcode. Se trata de un IDE (Entorno Integrado de Desarrollo) en el que gestionaremos de forma central nuestros proyectos. Ficheros de código fuente, dependencias con librerías, recursos como imágenes o ficheros de configuración, etc.

Interface Builder es la herramienta con la que construir la interfaz gráfica de nuestras aplicaciones. A pesar de ser una herramienta independiente, está totalmente integrada con Xcode. No siempre ha sido así, pero en la última generación de estas herramientas, los cambios que se realicen en una son inmediatamente visibles en la otra. Desde Xcode se puede acceder a los elementos que se han creado visualmente en Interface Builder, y viceversa.

Y por último, el Simulador de iPhone, como su propio nombre indica, nos servirá para probar la aplicación sin necesidad de tener que firmarla e instalarla en el iPhone. Por supuesto, imita el aspecto de un iPhone real, el cursor del ratón emula al dedo del usuario e incluye algunas opciones como rotaciones del dispositivo para probar, de forma limitada, el efecto del acelerómetro. Tiene otras limitaciones obvias como el soporte multi-touch (múltiples eventos táctiles al mismo tiempo), así que ese tipo de pruebas sólo pueden realizarse en el dispositivo final.

Aunque no la cubrimos en detalle en este artículo, merece especial mención Instruments, herramienta con la que analizar el comportamiento de las aplicaciones en términos de rendimiento. En una línea del tiempo se puede ver en tiempo real el uso de memoria, la actividad de disco, la actividad de red, etc.

Si quiere seguir leyendo acerca de la programación de un sencillo juego, creación del proyecto y más sobre programación en iPhone, puede leerlo en el número 259 de PC World disponible en Zinio.