SNCF Connect

SNCF Connect

SNCF Connect prepares for French summer sports events with Flutter


Goal

For years, the SNCF Connect apps for iOS and Android helped over 15 million people make better, more seamless journeys across France. But in August 2020, the team behind the influential app undertook a one year-long challenge to update their tech stack to a state-of-the-art solution that supported declarative UI, and simultaneous updates to iOS and Android.

Why Flutter?

Because so many people rely on SNCF Connect to get around, the team couldn’t take any migration decision lightly. Both the iOS and Android versions had been downloaded over 15 million times, so any interruption to their service would have a major impact. As a result, the team considered all their options carefully, testing and building proofs of concepts with several frameworks. Then, they compared the time to build, the quantity of code mutualized, the learning curve, features, performance, tooling, and overall developer experience of each platform. In the end, they chose Flutter for its multiplatform support and development speed, which would help them decrease their time to market.

Their solution

To help their developers get up to speed, SNCF Connect & Tech invited a Flutter expert to train the team on-site. Many of their mobile developers, including several who had been writing native code for a decade or more, took to Flutter right away. Within a few days, everyone was creating working widgets and screens, and even the more reluctant team members were sold on Flutter. One of the most persuasive features was Hot Reload, which allowed them to immediately see the results of their changes and iterate more quickly.

“With Flutter, Wallet, and NFC combined, it is now possible to use a single app to travel in France by train and bus, rent a car, book a hotel, use city transport in venues like Paris, Bordeaux, or Chateauroux, store tickets in the Google Wallet, chat with a bot and switch to customer support in the same in-app conversation.”

- François Nollen, Staff Engineer, SNCF Connect & Tech

Results

The new and improved SNCF Connect app launched on time. As a result, 90% of mobile code is cross-platform, the team makes one major release every week with no delay between iOS and Android features, and spends less time monitoring multiple stacks. SNCF Connect & Tech has even found that it’s easier to hire developers, as many candidates are eager to work with Flutter.

More recently, the team, expecting millions of people to use France’s railways and the app to travel to various destinations - including millions of first-time visitors - provided several updates to the app in preparation for the sports competitions this summer in Paris. Those improvements encompass general accessibility, new features, and partnerships, and bring the app to 150 screens making it the biggest Flutter app in Europe.

When they’re not iterating on the SNCF Connect app, the team regularly releases open-source plugins such as their Google Wallet plugin or the recent Flutter Eco Mode plugin, which helps developers implement a custom eco-friendly mode in their mobile app. They’re also passionate Flutter ambassadors, regularly sharing what they’ve learned at conferences, on Medium, and many local meetup events.