1. Aspectos a considerar para la
creación de un app móvil
Ronald Hernández Cisneros
The Nearshore Advantage!
2. Agenda
• Algunas definiciones.
• ¿Qué debo tener listo antes de empezar el desarrollo?
• Aspectos opcionales (deseables) antes de empezar el
desarrollo.
• ¿De donde proviene la información a alimentar a mi app?
• Seguridad.
• Diseño gráfico.
• Revisión de la calidad del producto.
• Distribución de las aplicaciones.
• Preguntas.
The Nearshore Advantage!
3. Algunas definiciones
• App nativa: aplicación creada para correr en una plataforma en
específico. Usualmente es creada con un conjunto de
herramientas que están enfocadas a producir binarios para
esa plataforma.
• Web app orientada a móviles: aplicación web con una “cara”
diseñada en específico para una o más plataformas móviles.
La diferencia clave es que la lógica de la aplicación vive en un
servidor web tradicional.
• app híbrida: tiene un poco de ambos mundos. Usualmente es
un cascarón (y a veces incluye un core engine) nativo y una o
más secciones que se sirven de web.
The Nearshore Advantage!
4. ¿Qué debo tener listo antes de
empezar el desarrollo?
• Una idea clara de que se desea hacer. La recomendación acá
es contar con al menos un documento sencillo de que
requerimientos funcionales y no funcionales se desean.
• Tener una idea clara en que plataformas se desea que el app
funcione. Para plataformas como Android y BlackBerry es
bastante recomendable saber que dispositivos se desean
soportar (por ej: pantallas táctiles, dispositivos con GPS,
resolución X x Y, etc.).
• Tener una idea clara de cuales son las fuentes de mis datos y
si cuento o no con interfaces para obtener información de esas
fuentes.
The Nearshore Advantage!
5. Aspectos opcionales (deseables)
antes de empezar el desarrollo.
• Mock-ups o wireframes.
• Definición detallada de dispositivos meta.
• Guía de estilos y/o diseño.
• Definición de web services (en caso de ser un app que ocupa
de fuentes de datos remotas).
• Definición de pruebas a realizar
The Nearshore Advantage!
6. ¿De donde puede provenir la
información a alimentar a mi app?
• Se debe tomar la decisión si la información va a ser parte del
binario de la aplicación (local) o si se va interfazar con una
fuente remota.
• Si la información viene como parte del binario, se recomienda
mantener una base de datos “pequeña”.
• Para obtener información de fuentes remotas se recomienda
crear una interfaz entre el app y el repositorio final de datos.
Este puede tomar la forma de web services (SOAP o RESTful)
o algo más simple como un controlador y despachador de
acuerdo a solicitudes.
The Nearshore Advantage!
7. ¿De donde puede provenir la
información a alimentar a mi app?
• Considerar aspectos de autenticación / autorización, seguridad
y manejo de bitácoras en la interfaz de comunicación.
• Se recomienda que el canal de comunicación sea HTTP/
HTTPS.
• El lenguaje de paso de mensajes debe ser sencillo, fácilmente
interpretable pero flexible. Se recomienda especialmente el
uso de JSON, sin embargo otros formatos como XML o tramas
a puro texto siempre son posibles de utilizar.
The Nearshore Advantage!
8. Seguridad
• En caso de contar con un canal HTTPS se debe considerar
que se va necesitar comprar un certificado SSL compatible con
los dispositivos meta así como con el servidor web donde vaya
instalado.
• En caso de manejo de información sensitiva se debe
considerar encriptar localmente esta. En la medida de lo
posible se recomienda no guardar esta información más de lo
necesario.
• Dependiendo del nivel de seguridad y sensitividad de los datos
se deben considerar aspectos como autorización a dispositivos
específicos (por medio de IMEI y otros ID grabados a nivel de
hardware) y funcionalidades como borrar la información del
dispositivo (“remote wipe”)
The Nearshore Advantage!
9. Diseño gráfico
• Se debe considerar tiempo de un artista / diseñador para la
confección de artefactos gráficos. Se recomienda una persona
versada en aspectos móviles, ya que los diseños web
usualmente no se transformen bien a móvil. También alguien
con conocimiento usualmente diseñará desde un principio
pantallas y artefactos que cumplen los lineamientos de la
plataforma.
• Se recomienda trabajar con imágenes vectoriales. Muchas
veces es necesario generar el mismo gráfico en múltiples
dimensiones (ej. Soporte para Retina Display).
The Nearshore Advantage!
10. Revisión de la calidad del producto
• Debe existir un balance a la hora de seleccionar múltiples
dispositivos a soportar. A mayor sea la cantidad de dispositivos
y la heterogeneidad de estos va a incrementar el costo de
desarrollo pero también el tiempo y costo de las pruebas. Aún
en dispositivos de una misma plataforma (ej: Android) a veces
es necesario duplicar por completo las pruebas por cosas
como cambios radicales de componentes “core” del sistema.
• Considerar que al menos se va a necesitar un ciclo de pruebas
completo (muchas veces incluyendo pruebas tanto en WiFi
como en plan de datos) para el dispositivo meta principal más
múltiples etapas de pruebas exploratorias para los dispositivos
secundarios para poder certificar compatibilidad (funcional y
gráfica).
The Nearshore Advantage!
11. Revisión de la calidad del producto –
cont.
• Si depende de web services u otra interfaz, en muchos casos
es necesario que considere pruebas de stress y seguridad a
esta interfaz.
• Si su sistema maneja información sensible (ej: DNI, claves,
tokens de seguridad) se debe tomar en cuenta tiempo
adicional para realizar pruebas de certificación para el manejo
de esta información en el dispositivo.
The Nearshore Advantage!
12. Distribución de las aplicaciones
• La mayoría de las veces se debe distribuir el app por un canal
de acceso masivo (ej: App Store). Se debe considerar que al
tener que hacer esto se debe abrir cuentas (que conllevan
pagos, usualmente anuales). Se debe empezar el proceso de
apertura de tales cuentas lo antes posible ya que siempre hay
algún tipo de verificación de quien abre la cuenta es quien dice
ser.
• Se debe considerar un tiempo de revisión y generación del
binario final a incluir en estas tiendas virtuales. En el caso de
Apple, el app Store tiene un proceso de revisión y aprobación
de apps que puede tardar de un par de días hasta varias
semanas.
The Nearshore Advantage!
13. Distribución de las aplicaciones –
cont.
• Se debe considerar el tiempo para generación de material de
mercadeo (ej: imágenes del app) y metadatos de la aplicación
(descripción y nombre del app, genero al que pertenece,
SKUs, información para censura, etc).
• Para distribución de aplicaciones tipo “enterprise” se deben
considerar factores adicionales como el proceso de
aprovisionar dispositivos de la corporación dentro de la cuenta
“enterprise”.
The Nearshore Advantage!