Inicio > Apple, Curiosidades, es, iPad, iPhone, iPod touch > Paso a paso (primera parte)

Paso a paso (primera parte)

22/02/2010

Creo que es hora de abrir una serie de posts que explique los pasos (resumidos y no necesariamente secuenciales) que cualquier persona debería realizar para poder hacer aplicaciones para los dispositivos de Apple más de moda: iPhone, iPod touch y, en breve, iPad. Empezaré por la parte científico-técnica del asunto, indicando los conocimientos que es necesario tener para poder lanzarse a la aventura en solitario. Eso sí, el que avisa no es traidor, esta entrada requiere nociones de programación y no es apta para todos los públicos.

Conocimientos científico-técnicos

  • Matemáticas y física. En general es recomendable tener una base matemática fuerte en aritmética y geometría. Luego, según las necesidades concretas de la aplicación a desarrollar, pueden ser necesarios otros conocimientos de física (principalmente mecánica clásica de sólidos y fluidos) o de tratamiento de señales (filtrados, análisis espectral, etc.).
  • Arquitectura de computadores. Es deseable disponer de unos fundamentos mínimos de la arquitectura hardware de un ordenador si se desea programar bien. Es imprescindible conocer las diferentes capas que forman el software de un ordenador, desde el núcleo del sistema operativo hasta las aplicaciones de usuario, pasando por las APIs.
  • Redes de comunicaciones. Si la aplicación va a entrar en contacto con el mundo exterior se ha de entender el funcionamiento de las redes TCP/IP, conocer las características básicas de las conexiones inalámbricas de datos a utilizar (3G, WiFi y Bluetooth) y estar familiarizado con los conceptos básicos de seguridad en redes.

Conocimientos de programación

  • Dominar Cocoa Touch (la API de programación para los dispositivos basados en iPhone OS, escrita en su mayoría en Objective-C) y Xcode (el IDE suministrado).
  • Conocer el lenguaje de programación Objective-C (Obj-C) al ser su uso imprescindible en Cocoa Touch. Se trata de un lenguaje orientado a objetos construido sobre la base de C++ y que incluye una serie de importantes novedades con las que hay que familiarizarse.
  • Interiorizar los paradigmas de programación empleados por Apple, como pueden ser MVC (model-view-controller) o KVC (key-value coding), imprescindibles si se quiere aprovechar la potencia de Cocoa Touch y Obj-C.
  • Saber programar en C/C++ es necesario para acceder a algunas funciones de Cocoa Touch no disponibles en Obj-C, para usar APIs que no son de Apple como OpenGL ES o SQLite y para optimizar el rendimiento en aquellas aplicaciones más exigentes.

Esto es todo de momento, espero no haberme dejado detrás nada importante. Pueden parecer muchas cosas (y en efecto lo son) pero hay que entender que intento ser lo más genérico posible y abarcar el inmenso espectro de aplicaciones posibles (desde una utilidad sencilla que nos permita almacenar recordatorios en la memoria del teléfono hasta una compleja aplicación que nos muestre una simulación 3D de nuestra ciudad y nos indique el mejor camino para llegar a nuestro destino).

En próximas entradas trataré de otros aspectos relevantes como los aspectos artísticos, socioculturales, económicos o burocráticos que conlleva lanzarse al mundo del desarrollo software independiente. Por si les resulta interesante o quieren animarse.

  1. Yon
    23/02/2010 a las 09:00

    Te has pasado un poco con “Matemáticas y física”, se necesitarán conocimientos elementales de ambos, que lo tuyo suena a ser casi un Doctor en Física.

    La parte “Programación” está impecable, resumidita y bien explicada.

    ¿Desde el API se puede acceder al bluetooth? ¿Y seleccionar WiFi o 3G? Me estoy adelantando…

  2. 23/02/2010 a las 14:57

    Impresionante. Yo añadiría, si se quiere desarrollar una aplicación que además de funcionar triunfe, un apartado de sentido común/conocimientos de sociología/marketing/etc.

  3. 23/02/2010 a las 17:26

    Yo no creo exagerar tanto, Yon, al fin y al cabo lo único que recomiendo es una base fuerte de aritmética y geometría puesto que cualquier aplicación en iPhone OS, por sencilla que sea, va a requerir controlar las coordenadas de las pulsaciones en pantalla. A partir de ahí la complejidad dependerá del tipo de aplicación… Además, aritmétrica y geometría son materias de instituto, ¿no?😉

    Sobre las APIs la situación es muy sencilla: Está la API sin restricciones (la que usa Apple) y está la API restringida (la que Apple pone a disposición de los desarrolladores). Si un desarrollador emplea llamadas no autorizadas o le busca las cosquillas más allá de lo que consideran oportuno, la aplicación es rechazada para su publicación en iTunes.

  4. 23/02/2010 a las 17:31

    Muchas gracias por el apunte, Josep, no se me pasarán. De hecho, como bien sabrás, son los factores más importantes que llevan al éxito de una aplicación…

    Y si no que se lo digan al señor que se está forrando con iFart. ¡Psicología pura!

  1. No trackbacks yet.
Los comentarios están cerrados.
A %d blogueros les gusta esto: