apps

Hola:

Apps es un término demasiado general, podrías ser más explícito? Te refieres a Apps para Iphone? Apps también se entiende (en la jerga de los programadores) a una aplicación o software, cualquiera sea su uso.

Por otro lado están las Google Apps, en fin, hay muchos usos para la palabra.
Pues perdón, no sabia todo eso, yo a las Apps llamo a las aplicaciones de moviles, da igual android o de los que sea, estare equivocado seguro, pue es en eso no estoy muy puesto.
Gracias un saludo
Pues perdón

No es necesario una disculpa, pues no tienes por qué saber :).

A ver... aplicaciones móviles... lo único en común para crearlas es saber programar. Por ejemplo, para iOS, necesitas aprender a programar en C; para Android, necesitas aprender Java; para Windows Mobile, necesitas aprender a programar en .NET; esas son las bases, pues todos usan un marco de trabajo distinto. También están las aplicaciones móviles antiguas (para celulares que no son smartphones) que se desarrollaban en Java (excepto las de blackberry, que no sé como se hacen - ni me interesa).

Ahora, antes de elegir el mercado al que te vas a enfocar, debes tener en cuenta un par de cosas con anterioridad.

Para desarrollar aplicaciones para iOS, necesitas tener un computador Mac o una máquina virtual con OS X (u otro sistema operativo de Mac). El problema con esto es que necesitas comprar un computador (y para desarrollar aplicaciones, no será económico) o instalar una máquina virtual, lo que no te permitirá desarrollar aplicaciones legales, pues usar una máquina virtual implica piratear el sistema operativo. Como si esto no fuera suficiente, también tienes que pagar una licencia de desarrollador para esta plataforma (no es cara) para poder publicar tu aplicación en el App Store. Y por último, la licencia de iOS no te permite crear una aplicación para otra plataforma durante un tiempo (o permanentemente, no lo recuerdo). Esto quiere decir que si tu creas una aplicación para iOS, esta aplicación no podrá estar disponible para Android ni para Windows Mobile antes que iOS (puede que la licencia haya cambiado en las últimas versiones, pero esto es lo que yo sé - no la he vuelto a leer).

En cuanto a Android (mi favorito, no sólo como desarrollador), también necesitas una licencia para publicar aplicaciones en Google Play (el otrora Google Market), pero no necesitas un computador con un sistema operativo especial. Lo único que necesitas es Windows, Mac o Linux, el IDE Eclipse (que es gratuito, pero existen otros), el Android SDK y el Android Tools Plugin (un plugin para Eclipse que te ayudará mucho a crear las aplicaciones). Android ocupa la mayor parte del mercado, por lo que tendrás un público mayor que pueda descargar tu aplicación. En cuanto a dinero, los usuarios de Android son más "pobres", por lo que esperan aplicaciones más económicas. En comparación a iOS, los usuarios de este pueden pagar mucho por las aplicaciones (con que la aplicación tenga una interfaz de usuario bonita, son felices, no les importa si funciona, ni cómo funciona), mientras que los usuarios de Android son más específicos, saben lo que buscan. Por otro lado, los smartphones con SO Android son superiores en cuanto a Hardware (Samsung Galaxy), por lo que son mucho mejores para desarrollar juegos en 3D (si te interesa).

Por último está Windows Mobile, del cual no sé casi nada XD. Lo único que sé, es que también necesitas una licencia para entrar al mercado, también tienes un IDE gratuito (Visual Studio Express Mobile creo que es el nombre) y eso es todo lo que sé.

Las licencias de desarrollador no son necesarias para crearlas, solo para publicarlas en los respectivos mercados (es como una certificación de que las aplicaciones son confiables). Si no te importa publicarlas en los mercados, puedes publicarlas en tu sitio web (por ejemplo) y esperar a que los usuarios las descarguen. Lo malo de esta aproximación, es que los usuarios más inexpertos probablemente no puedan instalarla (Android, por ejemplo, necesita una aplicación especial - un explorador de archivos - para instalar software desde la tarjeta SD). La licencia de Android (no sé en las demás), permite entrar en concursos para desarrolladores y ganar dinero dependiendo de la cantidad de descargas, así que, a mi juicio, es una licencia que vale la pena.

Cómo se desarrollan

Como dije al comienzo, todas usan un lenguaje distinto (Java, C y lenguaje .NET), pero la base es la misma. Yo te aconsejo que comiences por aprender lo que es un algoritmo. Sigue con Java o directamente con Android (si es que decides enfocarte en él). Este lenguaje te dará la base para uno de los modelos más utilizados: programación orientada a objetos.

Un pre-requisito puede ser aprender inglés, pues los mejores recursos para aprender están los encontrarás en este idioma.

En cuanto tutoriales:

Android - El mejor tutorial, a mi juicio, es el sitio para desarrolladores de Android, pues el contenido siempre está actualizado (en la red encontrarás información en español, pero probablemente sea para las versiones antiguas del mismo - esto cuenta también para las otras plataformas). Este otro sitio está en español (no es el sitio oficial).

iOS y Windows Mobile - Aquí no te puedo ayudar, pues nunca he aprendido a desarrollarlas. De cualquier forma, buscando en la red podrás encontrar información al respecto, aunque probablemente, el mejor lugar será el de la página oficial: https://developer.apple.com/devcenter/ios/index.action (iOS) y http://developer.windowsphone.com/en-us (Windows Phone).

Espero que te sirva :).