FlowUp, cómo monitorizar el rendimiento de tus aplicaciones Android e iOS

Todos y cada uno de los miembros de Karumi hemos estado desarrollando aplicaciones para Android o bien iOS a lo largo de años, y es curioso observar como todos pensamos que a lo largo de bastante tiempo hemos estado desarrollando aplicaciones prácticamente a ciegas. Para solucionar este inconveniente decidimos crear desde cero FlowUp, la plataforma de monitorización de aplicaciones en tiempo real para Android y también iOS que estamos desarrollando.

El hecho de que creamos que hemos estado desarrollando a ciegas a lo largo de tanto tiempo es curioso, mas hay una serie de preguntas que validan nuestra tesis. Si tienes un desarrollador de mobile cerca o bien mismo trabajas desarrollando aplicaciones para iOS o bien Android, procura localizar contestación a las próximas preguntas:

¿Cuál es el consumo medio de CPU o bien memoria que tiene la aplicaciones en la que trabajas?
¿Cuántos bytes consume la aplicación por segundo?
¿Tu aplicación es capaz de enseñar sesenta frames por segundo?
¿Cuál es la pantalla (Activity/ViewController) con peor desempeño de la aplicación?
¿Qué tamaño ocupan las shared preferences o bien la base de datos en el dispositivo?
¿Es la última versión que publicaste mejor o bien peor en concepto de desempeño? ¿Consume más datos? ¿Escribe más en la base de datos o bien menos?

Si piensas que tienes una contestación a estas preguntas, procura meditar en la cantidad de diferentes dispositivos (más de quince en el caso de Android) y versiones del sistema operativo en el que esa aplicación puede estar ejecutándose.

La cantidad de usos diferentes que la aplicación tiene, los que no tienen por qué razón ser exactamente el mismo empleo que el desarrollador hace de ella ni coincidir con el dispositivo que el desarrollador emplea. No todos nuestros usuarios tienen un Nexus o bien un Pixel y utilizan la aplicación tal como , los desarrolladores, lo hacemos.

Completa tu stack de herramientas para desarrolladores con FlowUp

Decidir si reparar una feature que no tiene un comportamiento adecuado o bien incorporar una nueva debe ser una resolución basada en métricas de nuestro software

En la actualidad los desarrolladores de aplicaciones tienen acceso a herramientas de análisis de performance como Android Studio monitor, systrace o bien instruments en el caso de iOS. Mas estas herramientas solo miden el empleo de la aplicación en un ambiente de desarrollo, no en el ambiente donde nuestro software aporta valor al negocio, el ambiente de producción. FlowUp controla a tus usuarios finales en sus dispositivos reales y te ofrece toda esta información en real-time a fin de que puedas examinarla de manera fácil.

Cualquier desarrollador en su día tras día tiene un modelo mental del comportamiento de su software, mas este modelo se semeja al comportamiento del software tanto como un mapa a una urbe. El mapa de la urbe de Murcia es solo una representación de la urbe, no la propia urbe. Cuanto más distanciado es nuestro modelo mental del software que edificamos, peor podemos razonar sobre nuestro software. Decidir si reparar una feature que no tiene un comportamiento adecuado o bien incorporar una nueva debe ser una resolución basada en métricas de nuestro software.

FlowUp acerca el planeta de la monitorización de sistemas en producción a los desarrolladores de aplicaciones móviles. Iniciando una librería en nuestra aplicación con una sola línea, como se muestra en el ejemplo del SDK que estamos desarrollando para Android, vamos a tener acceso a información que nos va a ayudar a progresar el desempeño de nuestras aplicaciones.

FlowUp.Builder.with(this).start();

¿Qué métricas ofrece FlowUp?

La cantidad de información que FlowUp consigue sobre el estado y comportamiento de tu aplicación en producción es muy interesante:

Frames por segundo y frame time de cada una de tus activites/view controllers.
Tiempo preciso para ejecutar el ciclo vital de tus activities/view controllers.
Consumo de CPU.
Consumo de memoria.
Tráfico de red tanto de subida como de bajada.
Empleo del disco en lo relacionado a base de datos, shared preferences o bien NSUserDefault.

Lógicamente, toda esta información filtrada por:

Versión de la aplicación.
Modelo de dispositivo.
Versión del sistema operativo.
Activity/ViewController name.
Tamaño y densidad de pantalla.
Calidad de la red.

Toda esta información recogida en una serie de dashboards organizados para enseñar sencillamente si existe algún inconveniente en el desempeño de tu aplicación y dónde está.

Este es solo un caso de un dashboard que usamos mientras que desarrollamos la plataforma.

En nuestros días estamos concluyendo el desarrollo de la plataforma y preparando un programa de betas privadas en el que nos agradaría incluir a ciertos desarrolladores. Deseamos asistiros a crear la mejor aplicación posible.

No olvides registrarte a nuestra beta en http://flowup.io.

Más información en Android devs, we were blind! (Karumi Weblog)

Pedro Gómez. Software Engineer apasionado por las nuevas tecnologías, open source, clean code y testing. Ahora trabaja como Mobile Senior Software Engineer en Karumi

Puedes localizarlo en su Github, en twitter.

hljs.initHighlightingOnLoad();

code.hljs undefined
@media only screen and (min-width: 768px) undefined
@media only screen and (min-width: 1024px) undefined

Asimismo te invitamos a

Mi experiencia en la BilboStack

Bigote, barba, perilla, afeitado… Brad Pitt es un kamikaze del grooming

Entrevista a Fernando Rodríguez de AGBO, nos cuenta la situación de la capacitación para desarrolladores y las tendencias del mercado

– La nueva

FlowUp, de qué forma controlar el desempeño de tus aplicaciones Android y también iOS

fue publicada originalmente en

turincon.net

por
Pedro Vicente Gómez

.