Cómo Crear Aplicaciones de Android y iPhone

howtowriteandroidappsUn Mundo Post-PC

Vivimos en un mundo post-pc donde una parte importante del acceso a Internet se da a través de dispositivos móviles. El acceso móvil tiene como principales diferencias con el acceso desde el escritorio el enfoque en búsquedas rápidas, relacionadas con el entorno en que nos encontramos, y relevantes para el momento actual.

La diversidad de sistemas operativos y tamaños de pantalla es la norma hoy en día. El ecosistema evoluciona de forma muy rápida y todo está en constante cambio, muy al estilo la serie Game of Thrones :) En este entorno tenemos como líderes del mercado a los sistemas iOS de Apple, y Android creado por Google y comercializado por diversas empresas.

El interés por lo móvil no sólo alcanza al consumidor final, sino también está entrando muy fuerte en el mundo empresarial. En una encuesta realizada por la empresa Appcelerator a 770 líderes empresariales en noviembre de 2012, se observó un gran interés del mundo empresarial por el desarrollo móvil siendo las principales razones el desarrollo de relaciones con clientes y socios comerciales, la demanda por mejores soluciones, presiones del entorno competitivo y un aumento de los ingresos.

Tenemos claro entonces que el mundo móvil llegó para quedarse y que existe un gran interés tanto a nivel de individuos como de empresas.

¿Por qué no entonces aprender a crear tus APPS desde cero con un 75% de descuento?

Seleccionar Plataforma

De acuerdo al reporte de Appcelerator, el interés en el mundo empresarial por las distintas plataformas disponibles en el mercado se distribuye de la siguiente manera:

Está a ese nivel el enfoque puesto sobre todo en iOS y Android. Debiéramos entonces enfocar nuestros esfuerzos en esa dirección.

Nativa vs HTML5

Al desarrollar una APP de Android o iOS existen distintos caminos. Uno de ellos es crear las llamadas aplicaciones “nativas”, es decir utilizar lenguajes de programación que sólo funcionan en esa plataforma. Para el caso de Android sería utilizar Java, para el caso de iOS sería Objective-C.

Otro camino es crear aplicaciones con HTML5, lo cual permite utilizar los lenguajes de las web: HTML, CSS y JavaScript para crear APP móviles.

** Cómo podemos aprender HTML y CSS desde cero y sin costo

** Cómo crear aplicaciones móviles para iOS y Android con HTML5 (75% de descuento)

Algunas características de ambos enfoques:

Lenguaje

Ventajas

Desventajas

Nativo

-muy buen rendimiento gráfico y velocidad-acceso completo al hardware del dispositivo

-el desarrollo es más lento-funciona para 1 plataforma a la vez (no se puede exportar de iOS a Android por ejemplo)

HTML5

-es rápido tener un prototipo. Puede ser usado como MVP (producto mínimo viable) y para poner a prueba tu idea.-multiplataforma (mismo código para Android y iOS)

-rendimiento no tan bueno-no se tiene acceso a todo el hardware

Creación de Maquetas

Sabemos que programar puede ser costoso en términos de tiempo y recursos. Por esto, se recomienda antes de comenzar la programación, realizar maquetas o prototipos de nuestra aplicación móvil.

Una maqueta en este contexto es similar a la analogía de la maqueta en la arquitectura. Se trata de una muestra de “como será” la aplicación, utilizando imágenes y diagramas. Las maquetas interactivas permiten simular el comportamiento de la APP real. Algunas herramientas que puedes utilizar.

La utilidad de las maquetas, además de servir como guía para la programación, es que nos permiten mostrar cómo quedará la APP a nuestros potenciales usuarios o clientes para obtener feedback de parte de ellos al principio del proyecto. Es mucho más barato modificar una maqueta que modificar una aplicación.

Herramientas para crear maquetas:

Guías de Diseño

Tanto iOS como Android cuentan con reglas y guías sobre cómo tiene que ser el diseño. Esto incluye aspectos visuales así como aspectos relacionados con la interactividad de nuestra aplicación.

Les recomiendo mirar eras guías antes de comenzar para crear una app que sea intuitiva para el usuario:

Cliente vs. Servidor

Es importante tener en cuenta también qué cosas se realizan en el lado del cliente y qué cosas en el lado del servidor.

El lado del cliente es nuestro dispositivo móvil (teléfono, tablet, etc). El servidor es un computador ubicado en algún datacenter donde se guardan nuestras bases de datos y donde se accede para leer y escribir esta información).

Lado del client

Lado del servidor

-Interfaz del usuario, formularios, almacenamiento local en el dispositivo.

-Datos guardados “en la nube”: cuentas de usuarios, datos a los que se quiere acceder desde otros dispositivo, datos que se quieren compartir con otros usuarios.

** Aprende a programar aplicaciones web en el servidor en PHP con este curso gratis

Resumen antes de Programar

El primer paso es detectar la oportunidad de negocio o el problema que se quiere resolver. Puede también tratarse de un proyecto guiado solamente por la motivación personal de crear algo nuevo, lo cual es bastante valioso.

Teniendo claro el objetivo, el siguiente paso es definir la plataforma y el camino a seguir. Si queremos abarcar tanto iOS como Android la mejor opción será realizarla con HTML5.

Una vez miradas las guías de diseño para la(s) plataformas escogidas, vamos entonces a crear las maquetas interactivas, las cuales le mostraremos lo antes posible a nuestros posibles usuarios o clientes. De acuerdo a su feedback, vamos a modificarlas.

También vamos a definir junto con ellos las principales funcionalidades e identificaremos cuáles de éstas irán en el lado del cliente, y cuáles en el lado del servidor.

Backend as a Service

De acuerdo a lo anterior comenzaremos con la programación, la cual se dividirá en el lado del cliente y en el lado del servidor.

No es enteramente necesario programar el lado del servidor, ya que podemos usar uno de los llamados Backends as a Service (BaaS), sistemas “llave en mano” para llevar el servidor o también llamado “backend” de nuestra APP. Algunas alternativas de BaaS (hay muchísimos si buscas):

Parse

Appcelerator ACS

mobDB

La APP Propiamente Tal

Creo que ya tenemos claro los principales conceptos que rodean el desarrollo de APP móviles. Respecto de la programación de la aplicación misma, todo depende de la tecnología escogida.

Puedes comenzar desde cero a crear tus propias aplicaciones si aprendes lo básico. A continuación algunas opciones en español para que empieces a convertir esas ideas locas en realidades:

** Apps de iOS y Android con HTML5 para Principiantes (75% de descuento)

** Videojuegos para iOS, Android y BlackBerry 10 para Principiantes (75% de descuento)