sábado, 9 de octubre de 2010

¿Programar para Android o para Iphone?

Hace ya algún tiempo que dejé de programar aplicaciones en lo que era J2ME, ahora es Java ME y quien sabe cómo se llamará mañana, pero ya desde el momento en que lo dejé se adivinaba una tendencia creciente en otro sentido. Parece que finalmente Java está perdiendo fuelle (en su versión móvil y al menos en lo que respecta a teléfonos) en favor del iPhone, cosa que ya nadie duda con más de 300.000 aplicaciones en su AppStore, pero también en favor de los móviles con Android, que ya acumulan unas 100.000 en el Android Market.
Con este panorama, alguien que desee hacer una aplicación móvil para ganar algún dinero, ¿qué debería hacer? La respuesta no es sencilla y al final influyen tanto factores técnicos, como económicos y emocionales (sí, emocionales, porque hay fanboys de Apple que no pueden admitir que el Android Market es un coloso igual que hay fans del movimiento libre a los que cualquier sistema cerrado como el de Apple les provoca urticaria).
Vamos con los factores técnicos: ¿qué es más sencillo? Para empezar, si eres un principiante total, todo te va a parecer complicado y el primer paso será familiarizarse con la programación orientada a objetos, ya que tanto para programar aplicaciones de Android como para el iOS es el paradigma que te vas a encontrar. Eso sí, si estás decidido a programar Android ponte con Java y si estás decidido con el iPhone, mejor será meterle mano a Cocoa y Objective-C. Al final todo es muy parecido, pero para qué perder el tiempo con uno si te vas a poner con el otro...Lo básico para programar Android es hacerse con Eclipse (Pulsar es la versión para dispositivos móviles si no vas a hacer otra cosa), el SDK de Android y el Android Development Tools (ADT), todo esto en un equipo medianamente potente si no te quieres echar a llorar esperando que empiece la simulación. Para publicar aplicaciones en el Android Market hay que pagar una tasa de 25 dólares.
Para programar aplicaciones para iPhone necesitas un Mac con Leopard o Snow Leopard (aquí empiezan las limitaciones económicas), el iOS SDK 4 que es gratuito (y parece bastante sencillo e intuitivo) y una licencia del iPhone Developer Program (no es necesaria si sólo vas a usar el simulador sin instalar las aplicaciones en el iPhone, aunque muy aconsejable), que esa sí cuesta creo que 99 dólares.
Tanto para uno como para otro, es necesario disponer de un móvil medianamente bueno donde poder probar las aplicaciones porque todo parecido del simulador con la realidad será pura casualidad... al menos por mi experiencia con todos los simuladores que he probado (que no son pocos). Es obvio que en el caso del iPhone se necesita un iPhone o un iPod Touch (más barato y es igual para casi todo), pero también para Android es necesario disponer de un móvil medianamente actualizado, es decir, caro jejeje.
Así pues, en principio es mucho más barato empezar a programar para Android (a no ser que ya tengas un ordenador Mac, en cuyo caso la balanza se iguala bastante), pero aún me he dejado el detalle económico más importante: ¿qué da más dinero? Hace un año, cualquiera habría dicho sin dudar que iPhone (hay mil historias de gente que ha hecho más de medio millón de dólares en 2-3 semanas con aplicaciones de todo tipo), pero hay señales que indican que esa tendencia se está igualando, o al menos acercando, o al menos hay incentivos para invertir tiempo en Android.
Y luego están los factores emocionales, que también son importantes: qué te gusta más, qué tienes la sensación de ser más sencillo o asequible para ti...
Por último queda mencionar qué se puede hacer que no esté ya hecho, y eso ya sí que es una cuestión de imaginación, de cubrir o crear una necesidad, de hacer un simple juego... Aunque en este último caso (en realidad en todos en mayor o menor medida) se necesita un grafista tanto o más que un programador.
También me ha faltado mencionar el mercado de BlackBerry, de Windows Phone y el OVI Store de Nokia, pero sinceramente creo que no son un mercado atractivo para el programador de a pie.
Publicar un comentario