Después de algunos posts sobre movilidad, hay algunos de vosotros que me habéis preguntado por la programación del iphone y iPod Touch.
Las plataformas más usuales son Symbian (Nokia, Sony Ericsson, PSION, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp), Rim (Blackberry), Windows Mobile (varios fabricantes, como HTC, Samsung, HP), Google Android (HTC, Samsung), iPhone OS (iPhone / iPod Touch). Con Java, podemos desarrollar aplicaciones para Symbian, Rim, Android (con su SDK) y Windows Mobile. Cierto es que para Windows Mobile, por ejemplo, yo prefiero usar .NET, siempre que no tengamos como Requisito No Funcional que la aplicación sea desarrollada en software libre. Para el iPhone resulta muy complejo el desarrollo en Java, más por problemas de licencia, que por cuestiones técnicas. Por ello, lo mejor es usar Objective-C.
Particularidades del iPhone / iPod Touch
Aplicaciones para iPhone: AppStore
En el AppStore se pueden encontrar todas las aplicaciones para iPhone. Se trata de un gran repositorio de programas.
En él, se pueden encontrar aplicaciones gratuitas y de pago (en este caso, el 30% de cada venta va a parar a Apple), y funciona de forma similar a como lo hace iTunes, generando un beneficio de 430 millones de dólares y realizándose más de 1000 millones de descargas.
Para poder publicar en AppStore hay que tener una licencia de desarrollador que viene a salir por unos 80 euros. La aplicación que desarrollemos deberá cumplir las Condiciones de Uso, que en ocasiones es bastante restrictiva, por ejemplo, se han desestimado aplicaciones por suponer competencia de la análoga de Apple.
Arquitectura
Foundation Framework son las clases básicas para programar, común al Macintosh y al iPhone / iPod.
Cocoa Touch Framework gestiona, entre otras cosas, los eventos y la interfaz táctil. Es exclusiva a iPhone / iPod.
Objective-C es parecido a ANSI C, pero su sintaxis está extendida a Orientación a Objetos. Se trata de un lenguaje muy expresivo, para hacernos una idea, esta sería la declaración de un método:
No existe el control de acceso a los métodos, ya que todos son "public".
Otra particularidad del lenguaje es que todos los objetos vienen referenciados por su puntero. Por tanto tendremos que prestar especial atención a reservar memoria y liberarla cuando ya no sea necesaria.
Esto solo son las bases para el que quiera adentrarse en este mundo del desarrollo de aplicaciones para iPhone, que es bastante peculiar, comparado con la programación del resto de plataformas.
Las plataformas más usuales son Symbian (Nokia, Sony Ericsson, PSION, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp), Rim (Blackberry), Windows Mobile (varios fabricantes, como HTC, Samsung, HP), Google Android (HTC, Samsung), iPhone OS (iPhone / iPod Touch). Con Java, podemos desarrollar aplicaciones para Symbian, Rim, Android (con su SDK) y Windows Mobile. Cierto es que para Windows Mobile, por ejemplo, yo prefiero usar .NET, siempre que no tengamos como Requisito No Funcional que la aplicación sea desarrollada en software libre. Para el iPhone resulta muy complejo el desarrollo en Java, más por problemas de licencia, que por cuestiones técnicas. Por ello, lo mejor es usar Objective-C.
Particularidades del iPhone / iPod Touch
- Pantalla con resolución de 480x320px
- Una sola aplicación capta el foco, las demás permanecen cerradas.
- Memoria RAM escasa. Hay que tener presente que hay que liberar recursos cuando no hacen falta (en Java este proceso es automático)
- Hardware adicional: GPS, acelerómetro, teléfono...
- Es posible acceder a datos PIM: correo, contactos,...
Aplicaciones para iPhone: AppStore
En el AppStore se pueden encontrar todas las aplicaciones para iPhone. Se trata de un gran repositorio de programas.
En él, se pueden encontrar aplicaciones gratuitas y de pago (en este caso, el 30% de cada venta va a parar a Apple), y funciona de forma similar a como lo hace iTunes, generando un beneficio de 430 millones de dólares y realizándose más de 1000 millones de descargas.
Para poder publicar en AppStore hay que tener una licencia de desarrollador que viene a salir por unos 80 euros. La aplicación que desarrollemos deberá cumplir las Condiciones de Uso, que en ocasiones es bastante restrictiva, por ejemplo, se han desestimado aplicaciones por suponer competencia de la análoga de Apple.
Arquitectura
Foundation Framework son las clases básicas para programar, común al Macintosh y al iPhone / iPod.
Cocoa Touch Framework gestiona, entre otras cosas, los eventos y la interfaz táctil. Es exclusiva a iPhone / iPod.
Objective-C es parecido a ANSI C, pero su sintaxis está extendida a Orientación a Objetos. Se trata de un lenguaje muy expresivo, para hacernos una idea, esta sería la declaración de un método:
-(NSArray *) listaCiudadesMayoresDe: (NSNumber *)kilometros delPais: (NSString *)pais;
No existe el control de acceso a los métodos, ya que todos son "public".
Otra particularidad del lenguaje es que todos los objetos vienen referenciados por su puntero. Por tanto tendremos que prestar especial atención a reservar memoria y liberarla cuando ya no sea necesaria.
Esto solo son las bases para el que quiera adentrarse en este mundo del desarrollo de aplicaciones para iPhone, que es bastante peculiar, comparado con la programación del resto de plataformas.
Suena interesante....
ResponderEliminar