- Omni-canal. Las aplicaciones modernas están diseñadas para funcionar en tabletas, teléfonos inteligentes, phablets, pantallas de visualización, automóviles y sí, computadoras de escritorio y portátiles. Están diseñados para anticipar las nuevas demandas de los clientes y los nuevos métodos de interacción, incluido el seguimiento de voz, tacto, mouse y ojos. Las aplicaciones modernas pueden comenzar con una experiencia consistente de canal cruzado, pero rápidamente se mueven más allá de eso a un canal cruzado y una interfaz optimizada de canal.
- Elástico. Las aplicaciones modernas exitosas están diseñadas para aumentar o disminuir según sea necesario. Se aprovechan de la economía de la nube. Utilizan de manera integral el software de código abierto porque agrega flexibilidad de licencias para escalar la flexibilidad arquitectónica.
- Orientado a API . Las aplicaciones modernas componen y exponen API en todas partes. Se basan en técnicas web abiertas y usan REST, XML y JSON para facilitar que todo tipo de dispositivos y clientes consuman datos fácilmente. Cualquier servicio o pieza de datos visible tiene una contraparte API “sin cabeza”, por lo que se pueden proporcionar vistas alternativas. En muchos casos, las API que expone una aplicación moderna forman la base de una comunidad pública de desarrolladores de terceros que permite la combinación, complementos e innovación en un conjunto básico de datos y servicios que impulsan los negocios de una empresa.
- Responsive . Las aplicaciones modernas están diseñadas para lidiar con las realidades de una topología de red pública que está cada vez más fuera del control de TI. La gestión del estado de la aplicación se lleva al límite de la aplicación. El diseño de servicio asíncrono permite que la infraestructura de escalamiento horizontal entregue información a los clientes de forma apátrida. Los patrones de diseño de sistemas alternativos como Broker y Pipes and Filters se convierten en mejores alternativas que un enfoque de Modelo-Vista-Controlador . En la memoria, las bases de datos se utilizan para agregar información de múltiples puntos finales de servicio y almacenarla en caché lo más cerca posible de las redes de operadores, en la infraestructura de la nube pública, a menudo junto con las CDN.
- Orgánico. No, las aplicaciones modernas no son singularidades (todavía). Pero las aplicaciones modernas tienden a evolucionar más como un organismo biológico que como un lanzamiento de productos Big Bang. Las piezas individuales de la aplicación cambian todo el tiempo. Aquí se implementa una nueva característica en el cliente, y un nuevo algoritmo que hace que un servicio sea más eficiente se implementa allí. Las aplicaciones modernas son máquinas complejas: abarcan sistemas de operación, sistemas de registro y sistemas de compromiso (ver Figura 1). Cambiar todos los componentes en una única versión sería increíblemente arriesgado. Las prácticas de desarrollo de operaciones y la implementación continua son adaptaciones críticas para las organizaciones que desean crear aplicaciones modernas.
- Contextual. Una de las mayores oportunidades que tienen los desarrolladores cuando realizan el cambio móvil es el aumento de datos contextuales a su disposición. Existe el contexto inmediato del dispositivo y los datos de los sensores, pero también está el contexto extendido de una aplicación moderna, que incluye datos de máquina a máquina (M2M) y eventos complejos. También hay un contexto histórico y la posibilidad de utilizar los tres para predecir lo que un cliente quiere, antes de saber que lo quiere.
Crear aplicaciones modernas no es tan simple como aprender el Objetivo C o comprar una herramienta de middleware móvil. Y dado que las aplicaciones modernas se componen de sistemas de sistemas, no debe separar su estrategia móvil de su estrategia en la nube o su estrategia de big data.