Planificación para el desarrollo de aplicaciones móviles

Cuando las empresas comenzaron a desarrollar aplicaciones móviles, una preocupación era la proliferación de tecnología del lado del cliente. Las empresas se habían acostumbrado a estandarizar en una plataforma, como Java ™ EE. Al estandarizar en una plataforma, una empresa podría contener un conjunto de habilidades en torno a una arquitectura estándar. Los dispositivos móviles tienen sus propios SDK de aplicaciones, lo que resulta en una proliferación de opciones del lado del cliente.

Para Apple, puede escribir aplicaciones usando Objective-C o Swift. Para Android, puede escribir aplicaciones usando Java. Microsoft y Blackberry también tienen sus propios SDK, aunque recientemente, Blackberry anunció su intención de admitir el SDK de Android. Hoy, Apple y Android dominan los principales mercados y algunas empresas optan por construir dos plataformas para la mejor experiencia nativa.

Hasta cierto punto, los dispositivos modernos también pueden admitir la construcción de aplicaciones mediante el uso de HTML 5, JavaScript y CSS, que se conoce como desarrollo híbrido. Muchas aplicaciones se crean de esta manera en un intento de ahorrar costos al tener una única base de código. 

En casos extremos, puede entregar contenido web a través de un navegador móvil, a menudo llamado web móvil, o puede crear una aplicación nativa completa con el SDK del dispositivo. Entre los extremos, tiene la noción de desarrollo basado en híbridos, donde agrupa el código HTML dentro de una aplicación. Algunas aplicaciones híbridas están construidas completamente con tecnología HTML 5; otros usan una mezcla de nativo y HTML 5. Algunas aplicaciones son principalmente nativas con una pequeña cantidad de contenido web. Algunas aplicaciones son en su mayoría web y acceden a algunas capacidades nativas. El enfoque más común para escribir aplicaciones híbridas es utilizar Apache Cordova.

Elegir un enfoque de desarrollo
La determinación de un enfoque de desarrollo puede ser difícil. Esta decisión depende de los requisitos que debe cumplir y la flexibilidad que puede pagar.

La experiencia es rey
Mobile tiene un ciclo de retroalimentación instantáneo. El sistema de clasificación de App Store brinda a los usuarios de la aplicación una manera de proporcionar calificaciones públicas de comentarios. Proporcionar una experiencia de aplicación negativa puede arruinar tu marca.

Factores comerciales
Existe una clara diferencia en cuánto influye el desarrollo móvil en diferentes industrias. Por ejemplo, los clientes empresariales tienen requisitos muy diferentes que las empresas de juegos. Como tal, los factores comerciales a menudo son un indicador del estilo de desarrollo. Como otro ejemplo, las industrias financieras crean aplicaciones que requieren acceso rápido a la última información de la cuenta, diferentes visualizaciones de los hábitos de gasto, la capacidad de depositar un cheque con la cámara de manera segura, y así sucesivamente. Como tal, una aplicación nativa con la mejor experiencia podría ser la mejor. Es posible que otras industrias, como los seguros, no requieran un uso constante, pero tienen casos de uso clave que deben funcionar cuando se tiene acceso a ellos, como presentar un reclamo.


De empresa a consumidor (B2C), de empresa a empleados (B2E) o de empresa a empresa (B2B)
Los dispositivos móviles se juegan en el espacio B2C y en el espacio B2E/B2B. Los servicios que usted brinda a su cliente en comparación con los que le brindan a sus empleados y socios pueden tener características muy diferentes. Además, si bien es posible que pueda controlar los dispositivos de sus empleados al proporcionar dispositivos propiedad de la compañía o al usar servicios de administración de dispositivos, no puede controlar los dispositivos de sus clientes. Los dispositivos móviles brindan grandes oportunidades para que los empleados que trabajan sobre el terreno tengan acceso instantáneo a los datos. Las industrias como los viajes, los servicios públicos y los seguros brindan grandes oportunidades para los nuevos patrones móviles para los empleados.

Público objetivo
Comprender a su público objetivo es, por mucho, uno de los factores más importantes para seleccionar un estilo de desarrollo. ¿Qué tan técnico es tu público? Considere si está tratando de llegar a una audiencia que esté familiarizada con las aplicaciones móviles o una que esté utilizando su primera aplicación móvil.

Costo versus ingresos
Muchas empresas ya se han dado cuenta del beneficio financiero de los dispositivos móviles; sin embargo, hay aplicaciones que solo aumentan el costo operativo. Por ejemplo, proporcionar servicios a su base de clientes puede ser una cuestión de supervivencia, pero no produce ingresos directos adicionales. Las aplicaciones internas para los empleados pueden ofrecer pocos beneficios financieros, pero pueden generar beneficios intangibles, como la mejora de la moral de los empleados.

Frecuencia de uso
Cuando las personas consideran las aplicaciones en un dispositivo móvil, muchas personas piensan solo en aplicaciones sociales de alto uso, como Facebook. La gente usa estas aplicaciones a menudo y dedican una gran cantidad de tiempo a ellas. Sin embargo, no todas las aplicaciones móviles, especialmente en los negocios, se adhieren a este principio. Por ejemplo, ¿con qué frecuencia verá una persona su póliza de seguro? ¿Con qué frecuencia una compañía de seguros quiere que usted procese un reclamo? A veces, una aplicación puede tardar meses sin usarse o actualizarse, pero debe asegurarse de que funcione cuando sea necesario.

Visualización de datos
Los dispositivos móviles ofrecen capacidades táctiles y formas únicas de interactuar con aplicaciones. Muchas capacidades de monitoreo e informes de negocios pueden aprovechar estas vistas. Ver las tendencias financieras, las tendencias de los clientes, etc., son ejemplos de estos casos de uso. Sin embargo, otros datos, como una lista de políticas, sus últimas cinco transacciones bancarias y otros datos de este tipo, pueden requerir mucha menos visualización.

Contexto comercial multicanal
Algunas veces, un dispositivo móvil se usa para hacer una parte de un trabajo. Puede iniciar una transacción en un dispositivo móvil y luego terminarlo en una computadora portátil. Por ejemplo, puede comenzar un reclamo de seguro en el momento de un accidente a través de una imagen, pero luego proporcionar información mucho más detallada cuando llegue a casa. Cuando diseñe una aplicación, considere qué fácil es mover ese contexto comercial a través de los canales desde un punto de vista de integración.

Lo suficientemente bueno como para no darse cuenta
La usabilidad es un factor crítico, como lo demostró Apple a través de su innovación móvil. El desempeño de la experiencia a menudo juega un papel en la percepción del usuario. Sin embargo, con los avances en los estándares web e híbridos, a veces la diferencia entre una experiencia nativa y experiencia web no se nota. Las tecnologías como Ionic ofrecen transiciones sin problemas entre las partes móviles de la aplicación, y los usuarios finales podrían no notar la diferencia. Sin embargo, a veces puede tener gráficos avanzados y animaciones donde la diferencia es notable. 

Habilidades existentes
Muchos clientes empresariales han invertido en habilidades de desarrollador en el área de desarrollo web. Si los clientes tienen una gran inversión, puede que no sea ventajoso contratar desarrolladores nativos caros y a demanda, especialmente si necesita apuntar a múltiples plataformas.

Integración a través de los límites de la organización
Muchas empresas crean aplicaciones que interactúan con otras aplicaciones comerciales de diferentes grupos o socios diferentes. Dentro de los sitios web, a veces esta integración se realiza a través de llamadas de servicio, a veces mediante el uso de técnicas como la incorporación de contenido web en un iFrame desde otro lugar. Las aplicaciones introducen desafíos en este estilo de integración. Por ejemplo, la integración en dos aplicaciones nativas escritas por socios podría ser difícil si la integración no se planificó originalmente.

A menudo, diferentes departamentos dentro de una empresa alojan diferentes aplicaciones web y proporcionan solo enlaces entre sí. Por lo tanto, desde el punto de vista del usuario final, podría parecer un sitio web único, aunque los fundamentos tecnológicos no estén integrados. Sin embargo, una empresa puede no ser capaz de proporcionar seis o siete aplicaciones únicas a sus clientes. Por ejemplo, ¿quién querría buscar diferentes aplicaciones de seguros, que cubran por separado los seguros de automóviles, de salud y de vida, de la misma compañía?

¿Cómo debería construir aplicaciones?
Puede construir una estrategia exitosa con cualquiera de estos enfoques dependiendo de varios factores. En general, las aplicaciones híbridas HTML5 requieren más disciplina y arquitectura. Puede tener éxito con aplicaciones híbridas, pero debe tener las mejores prácticas definidas y la arquitectura en su lugar.

Las aplicaciones híbridas dependen del framework que utilice. Algunos frameworks móviles se enfocan en ofrecer widgets móviles que emulan la apariencia nativa. Muchas aplicaciones de primera generación usan frameworks como jQuery Mobile. Los frameworks más nuevos, como Ionic, se desempeñan bastante cerca del rendimiento nativo en dispositivos más nuevos. Ionic se basa en el framework Angular, que le proporciona una pila completa de controlador de vista de modelo (MVC) para crear aplicaciones que se puedan mantener. Esta figura muestra un ejemplo de una arquitectura basada en Angular:

Tener una arquitectura como esta es fundamental para híbridos. En general, las aplicaciones híbridas pueden ahorrarle tiempo en la codificación. Sin embargo, puede encontrar que el costo de ajustar su aplicación en un conjunto diverso de dispositivos Android anula el valor del ahorro de tiempo.

Debido a que iOS y Android dominan el mercado, muchas empresas optan por crear aplicaciones nativas. Los kits de herramientas de aplicaciones nativas suelen proporcionar un modelo de MVC y un modelo autónomo para desarrollar.

Puede tener una estrategia exitosa haciendo desarrollo nativo. Después de aprender los marcos, las herramientas y los idiomas, encontrará que el modelo MVC puede reducir en gran medida la cantidad de ajustes en el cliente. 

via IBM Garage Method Studio