¿Cómo se ve la pila de aplicaciones de Android de Flipkart? (GUI, middleware, back end, etc.)

La antigua aplicación móvil de Flipkart era solo una envoltura en el sitio web móvil.


Flipkart en los últimos meses ha invertido mucho en el espacio móvil. Hay equipos que trabajan de manera dedicada en el dominio móvil y están tratando de hacer que la experiencia móvil en general sea mejor y sin problemas en todos los dispositivos. Recientemente lanzamos nuestra primera aplicación minorista con experiencia nativa. La pila tecnológica parece algo así
0: servicios
1: plataforma móvil
2: aplicaciones
Cada característica (servicio) en flipkart es propiedad de un equipo que administra y desarrolla dentro y alrededor de esa característica (ejemplo, búsqueda, recomendación, calificación / revisiones, notificación, pago, etc.). Exponen un conjunto de API REST-ful / Thrift (internamente) que se pueden consultar para extraer datos.
Luego viene la plataforma móvil, la responsabilidad de esta capa es utilizar los datos proporcionados por varios servicios de una manera más significativa. Esto se desarrolló específicamente teniendo en cuenta los requisitos móviles. Esta capa hace muchas conexiones con los sistemas subyacentes, para lograr resistencia en el complejo sistema de distribución donde la falla es inevitable, utilizamos un fantasma de producto interno (que internamente utiliza comandos hystrix). Esta plataforma a menudo realiza la traducción de datos, degradación elegante, agrupación de conexiones, retrocesos, versiones de aplicaciones y apis, maneja las pruebas AB (la respuesta de Kartik Ukhalkar a ¿Cuál es la infraestructura de prueba A / B que utiliza Flipkart?). La arquitectura de esta plataforma está inspirada en la de un PageBuilder. La plataforma se basa en Spring Framework y se ejecuta en un servidor de muelle.
Las aplicaciones son los consumidores finales de la plataforma móvil. Alrededor del 50% de los elementos de la GUI y sus contenidos están en forma de widgets. Esto nos permite impulsar la experiencia del usuario final a través de cambios de configuración sin tener que crear una nueva aplicación. La gestión de las conexiones estaba a cargo de un módulo escrito por los desarrolladores, sin embargo, estamos analizando varias herramientas disponibles como Volley (Google I / O 2013: Volley: Easy, Fast Networking for Android) que nos permitiría administrar mejor la red. Actualmente estamos analizando varios protocolos que nos permitirían disminuir la latencia de la red, que al mismo tiempo en el lado del cliente no consumiría mucha vida de la batería y ciclos de CPU.

La aplicación de Android de Flipkart es solo una envoltura (probablemente PhoneGap) alrededor de su sitio móvil. Por lo tanto, no es diferente de la pila detrás del sitio en sí.