Session

1 Codebase → 3 Apps, the recipe for white label Flutter apps

As mobile apps developers, sooner or later, we receive the request to create a white label mobile application: writing a single app code base while being able to build and deploy different flavors of it for different clients with changing colours, icons or API urls…

It can be for a client opening theme based shop stores or restaurants and wanting each of them to have an app with its own flavor and theme. One creating an application for hospitals and clinics requiring each to have their own iconography, medical devices and specialty. Or even a airline group that needs to provide specifically branded and featured apps for each of its airline companies… The use cases are numerous, yet the solution is often very similar if we approach the problem the right way:

- What are the part of your codebase that are specific to a target application?
- Where do you assign responsibilities within you code components to be able flexibly adapt to the various requests that will come you way in those kind of projects?
- Which white labelled components shall be on the dart side and which ones will live in the native part of my code base?

At BAM we had to bring answers to all those questions while developing a white labelled application in Flutter for the world’s biggest Ski resort group company.

After only 3 months, we were able to deploy 3 applications to 3 different ski resorts in time for the 2022-2023 winter season from a single code base and are since able to deploy 3 new versions each week.

In this presentation, we will share what we’ve learn building this white label application and cover the following topics:

- Overall code architecture of a white label mobile application
- Setting flavors and environments specifics variables and API calls
- Configuring both Flutter and Native side to be flavor flexible
- Separating assets
- Properly testing our code base
- Deploying applications with a well oiled CI/CD pipeline
- Toggling features independently for each target applications

This presentation shall provide a comprehensive approach to white label application development with Flutter. After this talk, Flutter developers should be able to understand the major obstacles that one can encounter with white label development and be armed to confidently overcome them.

This is a 2 person presentation given by myself (Twitter: @Guitoof) and Matthieu Pernelle (Twitter: @thieumalaperne)

Guillaume Diallo

Head of Flutter Engineering - BAM

Paris, France

View Speaker Profile