Google Classroom

Increasing productivity with Flutter

Métricas de éxito

98%

código móvil compartido

66%

tamaño de código reducido

50%

velocidad de desarrollo incrementada

Cuando el equipo de Google Classroom vio los aumentos de productividad que experimentó el equipo de GPay tras migrar a Flutter, decidieron hacer el cambio. Mira el video para conocer cómo les fue.

Cuando la pandemia de COVID trasladó abruptamente a los estudiantes de todo el mundo al aprendizaje remoto, el equipo de Google Classroom se encontró operando a una escala diferente casi de la noche a la mañana. Para septiembre de 2021, Classroom admitía millones de nuevos usuarios activos mensuales y necesitaba escalar rápidamente el equipo para satisfacer las necesidades de estos usuarios en cada plataforma de forma rápida. Con sus equipos móviles trabajando al límite, Google Classroom decidió explorar soluciones que redujeran la carga de sus desarrolladores.

Why Flutter?

El equipo de Google Classroom sabía que Flutter ofrecía muchas de las características que querían, incluida una única base de código compatible con múltiples plataformas. Evaluaron Flutter frente a varios puntos de referencia, incluidos sus efectos sobre la latencia, los tirones, la memoria, el tamaño del binario, la accesibilidad y la facilidad de contratación, y se complacieron al ver que los beneficios de adoptar Flutter superaban las posibles regresiones. El equipo esperaba regresiones en algunas áreas como la inestabilidad temprana, casi inherente al lanzamiento de cualquier aplicación nueva, y el tamaño del binario, pero creía que la base de código única de Flutter les permitiría mejorar estos aspectos a largo plazo. Basándose en este éxito, el equipo obtuvo luz verde para migrar sus aplicaciones existentes de Google Classroom a Flutter.

Their solution

El equipo dividió sus esfuerzos en dos lanzamientos, uno para iOS y el otro para Android. Después de construir una aplicación de iOS completamente nueva en Flutter, Google Classroom continuó con el lanzamiento para Android seis meses después.

La mayor parte del equipo nunca antes había usado Flutter, pero la mayoría de los ingenieros de Google Classroom informaron que el desarrollo en Flutter era más fácil que el desarrollo nativo. En particular, consideraron que Hot Reload fue un punto de inflexión para la productividad. Les permitió actualizar la aplicación sin volver a abrirla, eliminando el cambio de contexto innecesario, ahorrando tiempo y reduciendo la carga mental de los desarrolladores.

Results

Migrar a Flutter proporcionó a Google Classroom una gran cantidad de beneficios. Aceleró su tiempo de compilación incremental de varios minutos a unos pocos segundos, lo que calculan que les ahorra una semana completa de tiempo de desarrollo cada mes. Informaron que la base de código única mejoró el tiempo de desarrollo en todas las plataformas en “al menos un 50%” y simplificó sus lanzamientos.

También hubo otros beneficios. Flutter redujo el tamaño de la base de código de Google Classroom en un 54%, haciéndola más fácil de mantener. El rendimiento de la aplicación también mejoró, incluyendo una reducción del 62% en la latencia de inicio mediana y una reducción del 63% en la latencia de CUJ registrada.