| Artículos | 01 DIC 2008

Cómo desarrollar aplicaciones para el iPhone 3G

Tags: Histórico
Curso de programación de aplicaciones para el iPhone (I de II)
José M. Palazón.
Es un placer verlo, tocarlo, usarlo, tenerlo, y ahora tambien... programarlo. Desde PC World proponemos un nuevo curso de programación, dividido en dos entregas, para el iPhone. Conoceremos los principales aspectos que se esconden tras el nuevo terminal de Apple, así como los requisitos que necesitamos a la hora de programar aplicaciones para nuestro terminal.

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.
De 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.

Programación de un sencillo juego
Para cubrir el desarrollo de una aplicación para iPhone de principio a fin, vamos a programar un sencillo juego. Se trata de uno de esos puzzles o rompecabezas con piezas móviles y un hueco. El puzzle consiste en una imagen que se divide en un número de partes (nosotros usaremos nueve), de modo que la imagen queda dividida en una cuadrícula de 3x3. Las piezas resultantes de la división no se pueden levantar, sino solo deslizar, y para que esto sea posible debemos eliminar una de las nueve piezas, en nuestro caso la de la esquina inferior derecha, de modo que el puzzle queda formado por ocho piezas y un hueco. Sólo las piezas adyacentes al hueco pueden deslizarse. Si el hueco está en una esquina, sólo dos piezas pueden moverse. Si está en un lateral, tres, y si esta en el centro, cuatro.
Para comenzar el juego, se desordenan aleatoriamente las piezas. Una vez estén desordenadas, el juego consiste en volver la imagen a su posición original. La idea plasmada de forma gráfica quedaría como se muestra en la Figura 1.
El juego es lo suficientemente sencillo para que no tengamos que entrar en programar complicados algoritmos y nos va a permitir cubrir un gran número de detalles relativos a la programación de aplicaciones para el iPhone: escribiremos código en Objective-C, utilizaremos elementos gráficos nativos desde Interface Builder y accederemos a ellos desde XCode, crearemos nuestros propios componentes gráficos personalizados en XCode y los integraremos con el resto de los elementos en Interface Builder, integraremos recursos externos (imágenes) y exploraremos algunos eventos únicos del la interfaz multi-touch del iPhone como el double-tap (dos toques consecutivos con el dedo), o el drag and drop (arrastrar y soltar).

Creación del proyecto
Aunque tuviéramos Xcode instalado previamente desde el DVD de Mac OS X, es importante instalar el iPhone SDK, que incluye de nuevo Xcode, para acceder a las opciones personalizadas de proyectos iPhone en el IDE.
Xcode reside en Macintosh HD » Developer » Applications, aunque la forma más fácil de ejecutarlo es con Spotlight o Quicksilver. Cuando ejecutamos Xcode de esta forma no abre ningún proyecto ni ventana de opciones, así que puede pasar desapercibido el hecho de que la aplicación ha arrancado. Sólo la barra de menús en la parte superior de la pantalla será visible.
Como en la mayoría de los IDE actuales, en Xcode podemos crear un proyecto específico al tipo de aplicación que queremos construir, de forma que tendremos fácil acceso a los elementos y menús que necesitaremos con más frecuencia.
Desde la barra de menús de Xcode accedemos a File » New Project... para

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información