
Caribou Coffee
Caribou Coffee migrates su aplicación a una única base de código con Flutter
Goal
Después de siete años, la aplicación móvil de Caribou Coffee necesitaba una actualización importante. La primera iteración se escribió en Titanium y sufría de una alta tasa de fallos, una experiencia móvil poco fluida y una comunidad de desarrolladores en disminución. Se reescribió en 2018 tanto en Swift como en Kotlin para ofrecer una experiencia nativa, pero mantener la paridad de funciones consumía mucho tiempo. Y después de tres años, se estaba volviendo cada vez más difícil para el equipo de desarrollo ágil de Caribou mantener la experiencia de las funciones y la funcionalidad entre las plataformas iOS y Android.
Para resolver ese problema, el equipo quería una plataforma que fuera divertida de usar y fácil de aprender, que tuviera una comunidad de desarrolladores en crecimiento, que ofreciera SDKs populares para proveedores comunes de SaaS, que pudiera integrarse con la funcionalidad nativa de la plataforma y que se sintiera rápida y natural para el usuario final.
Why Flutter?
El equipo realizó una búsqueda exhaustiva de su nueva solución, evaluando Flutter junto a Quasar, Ionic, React Native, Xamarin, Kotlin Multiplatform y NativeScript. Querían algo con abundantes casos de uso del mundo real, soporte de terceros, una experiencia de desarrollo de alta calidad y buena documentación, entre otros criterios.
Tras un proceso de revisión de un mes, que incluyó la creación de aplicaciones de demostración en cada framework, Caribou eligió Flutter por sus capacidades multiplataforma, flexibilidad y eficiencia para los desarrolladores. Al equipo también le gustó la integración fluida de Flutter con las otras herramientas de Google que ya utilizaban, incluidos el Firebase SDK y la plataforma para realizar un seguimiento y medir el uso de su aplicación móvil, y Remote Config para funciones móviles.
Their solution
Caribou invitó a desarrolladores de Objective C, Kotlin y JavaScript a participar en el "lanzamiento" de su viaje hacia Flutter. Al principio, les preocupaba que la adopción de Dart fuera un desafío para algunos de sus desarrolladores, pero todos pudieron entenderlo con bastante facilidad. El equipo pudo poner en funcionamiento prototipos rápidamente y sus flujos de trabajo de CI/CD existentes se adaptaron muy bien al proceso de compilación de Flutter. Así que, en los meses siguientes, el equipo reescribió la aplicación Caribou Coffee en Flutter, utilizando una única base de código para las aplicaciones de iOS y Android.
“La base de código única de Flutter dio tranquilidad a todos los involucrados y unió a nuestros equipos móviles.”
- Ben Alman, ingeniero principal de software, Caribou Coffee
Results
La migración a Flutter permitió que los diseñadores y desarrolladores de Caribou comenzaran a trabajar juntos. El equipo atribuye a las guías de estilo de Zeplin el haber permitido conversaciones y decisiones más efectivas entre los equipos.
Gracias a la base de código única de Flutter, todos los desarrolladores de Caribou ahora pueden trabajar en la creación de funciones. Antes de la migración, el 50% del equipo se dedicaba a mantener la paridad de funciones.
Basándose en su éxito, Caribou planea seguir utilizando Flutter para mejorar su aplicación. A continuación, el equipo está entusiasmado con la idea de usar Flutter para incorporar Material You en la aplicación, agregar reconocimiento de ubicación respetuoso con la privacidad para mejorar la experiencia de drive-thru y facilitar que los amigos personalicen sus bebidas por separado pero realicen la compra juntos.