
Kijiji
Kijiji lanza funciones más rápido con Flutter
Métricas de éxito
50%
reducción en el tiempo requerido para lanzar nuevas funciones
64%
reducción en el tamaño de la base de código
Goal
Con casi 11 millones de usuarios activos mensuales, la aplicación móvil de Kijiji necesita ser rápida, confiable y consistente en todas las plataformas. Sin embargo, después de varios años, las aplicaciones nativas de Kijiji habían crecido a millones de líneas de código y acumulado una cantidad significativa de deuda técnica. El equipo necesitaba una forma de simplificar su base de código, lograr la paridad de funciones entre plataformas y mantener la aplicación funcionando sin problemas para los usuarios.
Why Flutter?
El equipo consideró varias soluciones nativas y multiplataforma, y por recomendación de la alta dirección, decidió investigar Flutter. Como experimento, realizaron un hackatón interno de dos días con todos los desarrolladores web, de backend y móviles de Kijiji para reconstruir y reimaginar sus conjuntos de funciones existentes en Flutter.
«Nos impresionó mucho la capacidad que Flutter le dio a nuestro equipo para ser creativo y crear los cambios que nuestros clientes buscaban de manera efectiva y eficiente», dijo Mike Baxter, director de tecnología de Kijiji.
Después del hackatón, recopilaron comentarios sobre las experiencias de los desarrolladores. En general, el equipo de desarrollo disfrutó mucho trabajando con Flutter y era evidente que ayudaría al equipo a superar muchas de sus preocupaciones existentes, por lo que decidieron hacer el cambio.
Their solution
Kijiji contrató a un arquitecto con experiencia en Flutter para liderar al equipo en la reconstrucción de sus aplicaciones móviles.
Reconstruir sus aplicaciones nativas en Flutter les permitió eliminar su deuda técnica y comenzar con un lienzo limpio. Construir multiplataforma desde el principio también les permitió implementar funciones con paridad en iOS y Android, lo que había sido un desafío en el pasado. Las limitaciones específicas de cada plataforma a veces dificultaban mantener una experiencia consistente en todas las plataformas, pero Flutter facilitó la implementación en paralelo.
Por ejemplo, en sus aplicaciones nativas, el equipo había creado una gran cantidad de vistas personalizadas y componentes reutilizables en toda la base de código. Pero para que esos componentes fueran realmente reutilizables, tuvieron que sobrecargarlos con funcionalidad para hacerlos aplicables a cada escenario. Eso no solo implicaba mucho código adicional, sino que también significaba que si una vista personalizada se rompía, se rompería en múltiples lugares de la aplicación.
Cuando migraron a Flutter, el equipo optó por aprovechar Widgets en su lugar, manteniendo cada Widget y componente autónomo. Eso permitió a varios desarrolladores trabajar en diferentes partes de la aplicación al mismo tiempo sin interferir con los demás. También limitó los componentes a la funcionalidad requerida y redujo la cantidad de código que necesitaban escribir.
“Flutter es un entorno de desarrollo de primer nivel. Incluso si eres un desarrollador nativo, la curva de aprendizaje es relativamente rápida, y el software realmente le permitió a nuestro equipo modernizar nuestra aplicación y crear una experiencia de cliente más fluida.”
-Mike Baxter, director de tecnología, Kijiji
Results
Migrar a Flutter ha ahorrado a Kijiji una cantidad significativa de tiempo de desarrollo, permitiéndoles ofrecer rápidamente una experiencia de aplicación mejorada para los canadienses. Las aplicaciones nativas originales de Kijiji tardaron entre 2 y 3 años en construirse para cada plataforma, o unos 6 años de desarrollo en total. Flutter les permitió recrear las funciones principales de la aplicación móvil de Kijiji en solo 9 meses. Mientras que antes se requería un promedio de 2 a 4 sprints para lanzar una función importante, Flutter les ha permitido lanzar nuevas funciones en la mitad del tiempo, liberando al equipo para innovar, iterar y salir al mercado más rápido con las nuevas funciones que sus clientes están pidiendo.
El equipo también ha podido contratar desarrolladores talentosos más rápidamente al destacar frente a la competencia. Su equipo móvil original constaba de 4 desarrolladores de iOS y 4 de Android, contratados durante un período de 2 años, pero pudieron contratar a 12 desarrolladores experimentados de Flutter en 6 meses.
Finalmente, el equipo de Kijiji pudo reducir drásticamente la cantidad de bibliotecas y dependencias de las que dependían para una experiencia más optimizada. Lograron reducir su base de código de más de 2.5 millones de líneas de código en su aplicación nativa de Android a aproximadamente 900k con una cobertura de código del 100%, haciéndola mucho más fácil de mantener y evitando futuras deudas técnicas. Tras la validación final de las funciones, el equipo de Kijiji lanzó su nueva aplicación de Flutter para los usuarios el 7 de marzo de 2023.