Increasing productivity by 33% at ByteDance with Flutter
increase in productivity
reduction in package size
In 2019, the team at ByteDance found themselves needing to create a large number of apps that worked across multiple platforms. Their existing solution involved a lot of duplicated work, and the team was sure they could streamline their approach and save time with a more efficient toolkit.
With Flutter, ByteDance discovered that they only needed to develop each app once, instead of creating separate versions for Android, iOS, and web. And because Flutter has its own rendering engine, they could also achieve more consistent performance across platforms. Plus, Flutter allows the Android, iOS, and web versions of an app to automatically stay in sync, reducing the number of updates required.
ByteDance was able to customize Flutter’s open source framework to perfectly suit their needs — and contributed valuable optimizations to the Flutter team in the process. Their contributions improved Flutter for all users by creating app frameworks, containerizing, improving performance, supporting add-to-app, and more.
For their first real-world test, ByteDance implemented Flutter with an education app, designed to help children learn to write Chinese characters with a stroke-tracking feature. Taking inspiration from some open source projects, they decided to use SVG paths to represent strokes. The feature, built with Flutter, now supports more than 9,000 Chinese characters, including most of the commonly used characters, and has been a success across a variety of platforms.
“ByteDance has always wanted to be part of things that could push the industry forward, and Flutter is likely to be one of those things.”
Flutter is now the go-to framework for multi-platform app development at ByteDance. For flagship apps such as Xingfuli, Jike, DaliJiaZhang, Xiaohe, Volcano, and Xigua Video, Flutter has increased team productivity by about 33%. Today, there are more than 700 Flutter developers at ByteDance, more than 200 of whom are actively developing with Flutter. The team uses Flutter not only for their mobile apps, but also to optimize apps for web, desktop, and embedded platforms.