14
The Nearshore Advantage! Aspectos a considerar para la creación de un app móvil Ronald Hernández Cisneros

Ronald hernandez

Embed Size (px)

Citation preview

The Nearshore Advantage!

Aspectos a considerar para la creación de un app móvil

Ronald Hernández Cisneros

The Nearshore Advantage!

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!

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!

¿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!

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!

¿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!

¿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!

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!

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!

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!

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!

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!

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!

Preguntas?