La idea es exponer de forma sencilla y poco técnica ciertos conceptos que les van a ser de enorme utilidad al instante de hacer su idea de negocios.
Partamos por el principio: qué es un aplicación. Una aplicación o bien “app” es un software que efectúa una función delimitada. Hay aplicaciones de todas y cada una de las áreas del saber humano: aplicaciones del tiempo, de correo, juegos, médicas, etcétera Cuando se habla de aplicaciones, la gente se acostumbra a referir a aplicaciones de dispositivos móviles, si bien no siempre y en todo momento es el caso. En el presente artículo nos enfocaremos en ese género de aplicaciones.
1. Elección de plataforma
once. Primordiales plataformas
Una de las primeras resoluciones que deben tomarse es la plataforma para la que se marcha a desarrollar. Existen distintos estudios que entregan estimaciones de la cantidad de usuarios y también ingresos por aplicación conforme plataforma. Las primordiales plataformas móviles hoy día son:
Android. Plataforma de la compañía Google. Cuenta con la mayor cantidad de usuarios. Tiene presencia fuerte tanto en el planeta desarrollado como en los países en vías de desarrollo. Esta plataforma está haciéndose presente en otros géneros de dispositivos como televisores y electrodomésticos.
iOS. Plataforma de Apple. Hasta hace poco tenía un liderazgo incontrovertible en materia tecnológica y de diseño, no obstante es poco a poco más desafiada por Android. Tiene realmente fuerte presencia en países desarrollados y poco a poco más en países en vías de desarrollo.
BlackBerry. Plataforma de la compañía RIM de Canadá. Famosa por sus teléfonos con teclado físico, esta plataforma ha perdido una notable una parte del mercado en frente de sus contendientes. Con el lanzamiento de una nueva línea de productos llamada BlackBerry diez, procurará recobrar una parte del espacio perdido.
Windows Phone. De la compañía Microsoft. A la inversa de la versión de este sistema operativo para computadores de escritorio y notebooks. Microsoft no ha conseguido encantar a las masas con sus teléfonos. Con el lanzamiento de Windows ocho, se consigue una enorme interacción entre el teléfono y el PC de escritorio, lo que podría darle una ventaja dada la extensa presencia del sistema operativo Windows en el mundo entero.
doce. Aplicaciones Nativas vs. HTML5
Aparte de la elección de la plataforma, en el caso de iOS y Android se debe elegir además de esto si la aplicación se desarrollará usando el lenguaje “nativo” o bien no. Ya antes de explicar lo que nos referimos con “nativo” (no guarda relación con vegetación y fauna, les puedo adelantar), veamos lo que es HTML5.
La página web está desarrollada en un lenguaje llamado HTML. Esto evolucionó desde páginas sin formato ni imágenes, hasta web complejas como Gmail o bien Google Docs. HTML5 es la versión más reciente de este lenguaje, que deja a las páginas efectuar operaciones complejas como acceder al GPS o bien a la cámara. Esto derivó en que personas creasen aplicaciones con HTML5.
Con “nativo”, nos referimos al lenguaje de programación oficial de la plataforma. En el caso de iOS lleva por nombre Objective C, y en el caso de Android es Java.
Lenguaje Nativo
Ventajas: buen desempeño gráfico y velocidad-acceso completo al hardware del dispositivo
Desventajas: el desarrollo es más lento-marcha para 1 plataforma al unísono (no se puede exportar de iOS a Android por poner un ejemplo)
Lenguaje HTML5
Ventajas: es veloz tener un prototipo. Puede ser utilizado como MVP (producto mínimo viable) y para poner a prueba tu idea.-multiplataforma (mismo código para Android y iOS)
Desventajas: desempeño no tan bueno-no se tiene acceso a todo el hardware
dos. Maquetas

Ya antes de redactar la primera línea de código, es buenísima práctica crear “maquetas” (en inglés “wireframes”) de la aplicación y su funcionalidad. Muy frecuentemente con la maqueta se puede vender un proyecto o bien trabajar con los potenciales clientes del servicio y poner a prueba aspectos de nuestro modelo de negocios sin haber gastado nada.
Existen múltiples formas de crear maquetas y no se requiere ser un especialista ni saber programar para esbozar esa idea increíble que tenemos en la cabeza. Ciertas opciones alternativas para crear maquetas:
Lo más simple. Plantillas sin coste para imprimir en papel y dibujar sobre ellas: http://sneakpeekit.com/mobile-sketchsheets/
Aplicaciones web que nos dejan crear maquetas arrastrando elementos. Por norma general tienen versión sin coste y de pago (acostumbran a ser asequibles):
Proto.io
Balsamiq
Mockflow
Keynotopia: librería (de pago) para crear maquetas de forma sencillísima en PowerPoint o bien Keynote.
¡Recuerda que alterar la maqueta conforme a los comentarios de tus clientes del servicio siempre y en todo momento va a ser interminablemente más económico que alterar la aplicación real una vez desarrollada!
tres. Funcionalidad
Tienes clara la plataforma y has creado maquetas de tu aplicación. Es preciso ahora determinar meridianamente la funcionalidad que va a tener. Para esto hablaremos de la diferencia entre el cliente del servicio y el servidor.
Cuando se habla del “lado del cliente” en desarrollo de apps, se refiere no a los clientes del servicio de tu negocio, sino más bien a lo que ocurre en el dispositivo del usuario. Cuando se habla del “lado del servidor” se habla de lo que pasa en Internet, en “la nube”, o sea, en algún PC situado del otro lado del planeta donde tu aplicación se va a estar conectando para conseguir o bien guardar datos.
Hay funcionalidades que corresponden al lado del usuario. Ejemplo, sacar una fotografía, enseñar una interfaz del usuario, contestar a ademanes en el touchscreen del teléfono. Todas y cada una esas cosas no precisan de una conexión a Internet y corresponden a funcionalidad por el lado del usuario.
Si charlamos de registrar usuarios y guardar sus datos en nuestro servidor, compartir fotografías con otros usuarios, bajar información del tiempo, guardar datos en la nube, etcétera Todo ello es funcionalidad el lado del servidor. Todo lo que requiera de conexión a Internet es por el lado del servidor.
Debes entonces describir la funcionalidad de tu aplicación en esos términos, a fin de que te resulte más simple comunicarte con tus desarrolladores. Hacer explícito:
Datos que se conseguirán desde el servidor.
Información que se mandará al servidor.
Qué datos se van a guardar de forma local en el dispositivo.
Qué aspectos del hardware se utilizarán: GPS, cámara, contactos.
Usa la aplicación pantalla de login o bien creación de cuentas de usuarios.
cuatro. De qué forma lograr desarrolladores
Esta es verdaderamente el interrogante del millón para muchos emprendedores, en tanto que la idea no basta, precisas poder crear un Producto Mínimo Viable veloz y empezar a poner a prueba tu modelo de negocio con personas reales para continuar avanzando. Afortunadamente, hay formas de lograrlos.
cuatro.1. Technical founder
El caso que te invito a más es que logres un “technical founder”. Esencialmente, un asociado para tu negocio que sepa programar y se ocupe del tema técnico mientras que ves el área comercial. Ahora, ¿dónde lograrlos? Ciertos lugares donde merodean:
Acontecimientos y meetups de emprendimiento tecnológico. Asiste y habla con ignotos. Muchos desarrolladores tienen la inquietud de emprender mas no desean hacerlo solos y procuran un partner comercial.
Hackatones. No son carnavales religiosos, son acontecimientos que acostumbran a organizar empresas de tecnología donde los asistentes programan a lo largo de todo el día bajo el influjo de bebidas energéticas y adrenalina geek. El consejo acá es acudir a estos acontecimientos si bien no sepas programar. En el peor caso vas a comer pizza sin coste y te van a llevar un montón de latas de Redbull a la casa.
cuatro.2. Outsourcing
Otra alternativa es contratar a alguien. Puede ser alguien local o bien puedes asimismo recurrir a portales de outsourcing como oDesk (mi favorito), eLance, o bien otros.
Si proseguiste los pasos precedentes y tienes maquetas detalladas y la funcionalidad bien delimitada vas a poder conseguir cotizaciones y estimaciones de tiempo más precisas.
Este es un tema extenso y da para un artículo, mas como consejo general prosigue estos pasos:
Especifica bien en tu aviso los plazos y condiciones.
Fija una entrevista en Skype ya antes de iniciar.
Evita las agencias, busca personas independientes.
Hazlos firmar un acuerdo de confidencialidad.
Al empezar, define jalones claves del proyecto y mantente implicado, esperemos asambleas semanales por Skype.
En ocasiones es bueno partir con un proyecto pequeño y si va bien, extender el contrato para la aplicación completa.
cuatro.3. DIY: Do it yourself
Vivimos en el siglo del “hágalo mismo” o bien “do it yourself” (DIY). El cerebro humano es formidablemente amoldable y jamás debemos infravalorarlo.
Como emprendedor me ha tocado redactar documentos legales, hacer diseño gráfico, ventas, comprender la sicología de mis clientes del servicio y otras muchas cosas para las que nunca estudié (tengo estudios de ingeniería). Igualmente, si tu área no es la programación no quiere decir que no puedas aprender lo básico.
Sabiendo lo básico puedes crear un MVP o bien prototipo de tu aplicación para mostrársela a potenciales clientes del servicio y también inversores. Eso te puede abrir las puertas para conseguir el capital preciso para contratar un desarrollador y empezar tu negocio.
Una opción alternativa para aprender uno mismo es tomar un curso en línea (opción de pago). Existen sitios como Udemy.com, Coursera.org y Udacity.com que tienen gran pluralidad de cursos on line de desarrollo. Ciertos ejemplos:
Aplicaciones de iPhone y Android con HTML5 para Principiantes. Curso completo en castellano de cara al desarrollo de aplicaciones en distintas plataformas, no requiere conocimientos anteriores.
Kids Coding. Curso en inglés para pequeños y personas “con espíritu de niño” sobre desarrollo de sitios y aplicaciones con HTML5. Es buenísimo para comenzar desde cero.
Mobile iOS Game Development. Curso en inglés de programación de juegos para iOS, algo más avanzado mas comienza desde prácticamente cero.
Creative Programming for Digital Media & Mobile Aplicaciones. Curso gratis en inglés que empieza en Julio que combina programación con aspectos creativos en el desarrollo de aplicaciones.
Web Development. Curso gratis en inglés de desarrollo web, completísimo.