Mobile First

Download Report

Transcript Mobile First

Manuel Rodríguez Rodríguez. Mobile Solutions Architect 29 de Octubre de 2013

Introducción a MobileFirst

Document number © 2013 IBM Corporation

Introducción

La realidad de un

mercado heterogéneo

• Distintos sistemas operativos • Componentes Hardware dispares • Desarrollo nativo vs híbrido vs web • “time to market” muy agresivo • Rápida evolución de la tecnología • Incertidumbre tecnológica © 2013 IBM Corporation

Introducción

Retos del desarrollo

El ciclo de vida del desarrollo de aplicaciones móviles difiere del desarrollo de aplicaciones tradicionales: • Son APLICACIONES (no solo web) • Aprovisionamiento / gestión de versiones • Mayor tiempo de testing que en desarrollos (web) tradicionales.

• Hemos olvidado como era el desarrollo de aplicaciones • Tiempos de respuesta en dispositivos • Footprint de la aplicación • Depuración en remoto de aplicaciones • Distintos focos dependiendo si son aplicaciones B2E o B2C • Seguridad vs Usabilidad • La experiencia de usuario es vital.

• El dispositivo ¡si importa!

• Teclados, pantallas, GPS, Cámara, orientación, etc.

No tener en cuenta la singularidad del desarrollo de aplicaciones móviles puede penaliza la experiencia de usuario © 2013 IBM Corporation

Introducción

Retos del desarrollo

Testing mucho más complejo y elaborado

 El testing de “

laboratorio

” es limitado (emuladores, simuladores)  Se necesitan dispositivos físicos para un testing adecuado  Instrumentalización de aplicaciones para simplificar el testing  Componentes Hardware difícil de probar — GPS, Giroscopio, “look and feel” de pantalla, NFC, etc.

 Miedo a lo desconocido.

— Cómo están usando / funcionando las aplicaciones en nuestros clientes (errores, limitaciones, opciones no usadas, etc.) — Cómo están atacando a nuestras aplicaciones (“decompiling”, Malware, virus, etc.) Unos planes de prueba no acordes a las necesidades de las aplicaciones móviles hacen que el éxito de las aplicaciones estén mermados debido a una usabilidad limitada.

© 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

El ciclo de vida de desarrollo de aplicaciones móviles

Diseño y desarrollo Complementación / Intrumentalización Integración Obtener Información Gestión y configuración Puesta en producción Test Certificación y validaciones De seguridad

© 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

Diseño

Necesidad de

reducir costes y “time to market

 Entornos de desarrollo conocidos (eclipse)  Paradigmas de desarrollo web e híbridos — HTML5, JavaScript, CSS — Necesidad de minimizar el desarrollo nativo de aplicaciones    Frameworks de desarrollo reutilizable Integración con herramientas del ciclo de vida del desarrollo existente en la compañía (Control de versiones, testing funcional, etc.) REUTILIZACIÓN de componentes y servicios compartidos para los   distintos agentes involucrados en el desarrollo Worklight como plataforma de desarrollo y ejecución Soporte multidispositivo desde el origen.

La adopción de desarrollos híbridos permiten tener una reducción de costes al estandarizar el desarrollo multidispositivo así como un “time to market” mucho más limitado.

© 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

Complementación / Instrumentalización

• Necesidad de añadir componentes tecnológicos a nuestras soluciones para habilitar nuevas capacidades • Testing  Transformación de nuestras aplicaciones para poder simplificar y automatizar las pruebas  Integración con herramientas corporativas de testing (Rational Test Workbench) Analítica   Habilitar nuestros desarrollos para una recogida de datos automática de información en entornos productivos Filtrado y depuración de datos para una interpretación más ágil en la corporación La instrumentalización nos permite añadir capacidades necesarias para una mayor calidad de nuestro software así como nos abre una ventana a ver el uso de las aplicaciones con los ojos de nuestros clientes © 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

¿Por que las pruebas de aplicaciones móviles son distintas?

   

Plataformas de dispositivos, fragmentación y crecimiento

• • • •

iOS, Android, BlackBerry, Windows Phone, etc.

Resoluciones de pantallas Refresco de la base instalada cada 24 meses Solo en 2011, hubo 300 nuevos dispositivos Nuevas capacidades para probar

Cámara, GPS, orientación, voz, etc.

Más consideraciones de red

Múltiples operadores, ancho de banda variable, latencia, uso en formato desconectado, etc.

La experiencia de usuario es más importante

Pruebas de usabilidad

Pruebas de translación / rotación

Pruebas de red (Tiempo de respuesta medio, Calidad de servicio, etc.)

© 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

Test Automatización de los tests funcionales

Soporte nativo, web y aplicaciones híbridas

     Sistemas operativos soportados    Android 2.2+ IOS 6+ Android e iOS (aplicaciones híbridas)  HTML5/CSS3  JQuery Mobile Captura (grabación) de un test de un dispositivo físico o emulador El lenguage de definición de test estructurados (ClearScript) simplifica la autoría y soporta multilenguaje Comparte multicanalidad y las capacidades de ejecución dentro de Rational Test Workbench & Rational Quality Manager Existe una transición directa entre Worklight y Rational Test Workbench La automatización de las pruebas

simplifica los costes asociados a las pruebas

, así como acelera la calidad del software desarrollado.

© 2013 IBM Corporation

Las

aplicaciones móviles

, en el punto de mira de los hackers:

Los

dispositivos móviles

atractivos para los hackers ya pueden conseguir a la vez son muy

datos personales y corporativos. 2x Source: Arxan State of Security in the App Economy – 2012

© 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

Servicios Compartidos

Dentro del mundo de la seguridad existen dos tipos de pruebas •

Caja Negra:

En este tipo de pruebas, se desconoce el funcionamiento interno del software y se intenta ver su respuesta ante ataques conocidos (SQL injection, cross scripting, etc.) •

Caja Blanca:

puntos críticos del desarrollo.

• conocemos el código fuente, y verificamos cuales son los Más relacionado con el mundo de las aplicaciones • • • Específico para cada sistema operativo (Android, iOS, etc.) Automatización en el ciclo de desarrollo No solo verificamos riesgos en el código, sino riesgos en el “filtrado” de información a terceros Tener desde el comienzo el plan de seguridad en nuestro desarrollo ayuda a que el software desarrollado minimice los riesgos de tener errores que puedan ser explotados por terceros para acceder a datos sensibles tanto del usuario como de nuestra empresa.

© 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

Puesta en producción

Una vez que nuestra aplicación está desarrollada, hay que ponerla en producción: •

Business to Consumer

 AppStore / Market / etc: Públicos con ciclos de aprobación por cada uno de los proveedores de sistemas operativos •

Business to Employee

 Necesidad de un Aplication Center interno para cada Sistema operativo (dependiendo de la estrategia de la compañía BYOD, etc.)    Integración con ciclo de vida de las aplicaciones Aprovisionamiento automático en los dispositivos Perfilado de aplicaciones en el dispositivo © 2013 IBM Corporation

Desarrollo eficiente de aplicaciones

Servicios Compartidos

~30% Esfuerzo Global

Desarrollo Cross-Platform

~70%

Versionado De applicaciones Notificaciones Push

Cuanto más

servicios compartidos tenga nuestra infraestructura, será el desarrollo de nuevas aplicaciones

y antes más rápido

tendremos nuevas capacidades en nuestras aplicaciones © 2013 IBM Corporation

Servicios compartidos

Con la creciente proliferación de aplicaciones se ve necesario una plataforma de servicios compartidos:           Abstracción de las distintas plataformas de notificaciones (push) Geo – fencing Seguridad (validación de usuarios y de aplicaciones) Punto único de acceso a la infraestructura Integración centralizada (ESB, Adaptadores específicos, etc.) Replicación de datos Estadísticas de uso Analítica de las aplicaciones Actualizaciones directas de aplicaciones … Cuanto más servicios compartidos tenga nuestra infraestructura, más rápido será el desarrollo de nuevas aplicaciones y antes tendremos nuevas capacidades en nuestras aplicaciones © 2013 IBM Corporation

Cuantitativa Analítica

( “Qué, Dónde, y Cómo”)

Analítica móvil

Analítica cualitativa

( “¿Por qué?”) 15 IBM Coremetrics Digital Analytics proporciona un análisis cuantitativo capturando datos de las interacciones de los usuarios y generando interfaces de uso mostrando:

• • •

Datos en tiempo real de ventas Flujos de tráfico en la web Benchmarks de conversión Tealeaf provee análisis cualitativo capturando, repitiendo y analizando los datos de interación de usuarios individuales mostrando:

Todas las interacciones del interfaz de usuario

Mensajes de error

Uso de la aplicación

© 2013 IBM Corporation

Analítica Cualitativa

 Comportamiento de usuario – Pantallas vistas – Campos de texto, valores – Clicks, movimiento – Aplicación ejecutada, modo background – …  Entorno – Versión de aplicación, SSOO, Modelo – Orientación del dispositivo, IP, Memoria – Conectividad – GPS, operador móvil – …  Salud de la aplicación – Excepciones, Fallos de aplicación – Errores en las conexiones a servidor – … •

Detectar problemas en los clientes al acceder a datos

Aislar por versión de aplicación, por error, por entrada

Cuantificar el impacto en número de usuarios

Analizar el comportamiento de los usuarios servidor – secuencia de eventos, logs, llamadas a

Búsqueda para encontrar otros usuarios afectados

© 2013 IBM Corporation

El mapa de soluciones de IBM

12 adquisiciones para mejorar nuestra posición desde 2006 Más de 125 patentes sobre invenciones de wireless 3n 2012 de un total de 270 Inversión creciente en 2013 Más de 200 aplicaciones disponibles en los App Stores con más de 1M de descargas Citado como lider en diseño de aplicaciones y servicios gestionado por Forrester y Gartner © 2013 IBM Corporation

© 2013 IBM Corporation