SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
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?




The Nearshore Advantage!

Más contenido relacionado

Similar a Ronald hernandez

Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
Software Guru
 

Similar a Ronald hernandez (20)

Aplicaciones
AplicacionesAplicaciones
Aplicaciones
 
Mini curse
Mini curseMini curse
Mini curse
 
Arquitectura Para El Comercio Electrónico
Arquitectura Para El Comercio ElectrónicoArquitectura Para El Comercio Electrónico
Arquitectura Para El Comercio Electrónico
 
Movilidad: situación, estudio y retos
Movilidad: situación, estudio y retosMovilidad: situación, estudio y retos
Movilidad: situación, estudio y retos
 
Casos exito santiago toribio almatech
Casos exito santiago toribio almatechCasos exito santiago toribio almatech
Casos exito santiago toribio almatech
 
U2 p2 proyectos_desarrollo_moviles
U2 p2 proyectos_desarrollo_movilesU2 p2 proyectos_desarrollo_moviles
U2 p2 proyectos_desarrollo_moviles
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Desarr
DesarrDesarr
Desarr
 
Desarrollo de proyectos
Desarrollo de proyectosDesarrollo de proyectos
Desarrollo de proyectos
 
Trabajo
TrabajoTrabajo
Trabajo
 
Trabajo
TrabajoTrabajo
Trabajo
 
Conceptos
Conceptos Conceptos
Conceptos
 
PresentacióN Tesis
PresentacióN TesisPresentacióN Tesis
PresentacióN Tesis
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Olivares
OlivaresOlivares
Olivares
 
Consideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativasConsideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativas
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
2.GeneXus introducción-al_curso
2.GeneXus introducción-al_curso2.GeneXus introducción-al_curso
2.GeneXus introducción-al_curso
 

Ronald hernandez

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