1
头图

ByteDance operates a series of successful user products, enterprise applications and services, covering information, education, entertainment and other fields. With the continuous development of the product lineup, the traditional native dual-platform development has been difficult to meet the team's more efficient, more flexible, more beautiful, and more diverse product development needs. When Google first released Flutter, the team decided to test its cross-platform development capabilities with iOS and Android applications, and Flutter quickly conquered the team members with its performance and high productivity that were not inferior to native frameworks. Heart.

https://www.bilibili.com/video/BV1xB4y197Tc/?aid=596724784&cid=722160670&page=1

Flutter is incredibly efficient, saving our team about 1/3 of development time compared to native double-ended development.

—— Dong Yan, ByteDance Flutter Infra Team Leader

Multi-platform attack, embrace more opportunities

Reaching more users on more platforms has always been one of the goals of the ByteDance product team. For example, the popular short video entertainment app "Douyin Volcano Edition" in China allows users on both iOS and Android platforms to share short videos to show off their hobbies, skills and routines, and have a very consistent experience.

△ 抖音火山版

△ Douyin Volcano Edition

In the 2B field, ByteDance has a one-stop application, Lark, that supports corporate collaborative office. It supports the team's instant messaging needs through audio and video conferencing, document sharing, and a series of project management and energy efficiency tools. With the help of Flutter, the entire Lark ecosystem covers iOS, Android, web and desktop platforms.

△ 协同办公一站式应用 Lark

△ One-stop application of collaborative office Lark

More efficient development, release team creativity

Hot reload has always been one of the most praised development features of Flutter, so that engineers no longer need to wait for long compilation over and over again, so as to efficiently debug code and quickly turn UI designers' ideas into reality.

In order to allow developers to maximize the use of the native underlying functions of each platform, Flutter also provides an external function interface FFI . This allows Flutter applications to directly call the C++ layer code, improving the efficiency of interaction with hardware, and at the same time enabling the deployment of on-end deep learning models.

The applications on the two smart devices, "Extreme Course Wrong Question Printer" and "Extreme Course Marking Master", are both developed using Flutter. The former is placed on campus for students to self-print wrong questions, while the latter can help teachers identify intelligently. Students' answer sheets and statistical scores. With Flutter, the team was able to quickly develop and iterate device software for teachers and students in more than 200 schools.

△ 智能设备 "极课错题打印机" 中的应用使用 Flutter 开发

△ The application in the smart device "Extreme Class Error Printer" is developed using Flutter

Sometimes, the work created by Flutter itself can further improve the efficiency of the team. For example, Alchemy, one of ByteDance's most interesting Flutter web applications, is an internal tool for content creation on Douyin. It provides PGC and UGC users with convenient and interesting material generation tools and massive materials, and produces copyrighted materials in batches. Protected design materials.

△ Alchemy

△ Alchemy

Pixel-level exquisite, harvest users' hearts

Flutter's precise control over the rendering of the app's screen gives the team the freedom to polish every pixel of the product. "Lemon8" has won the 2021 Google Play annual application list in Japan with its excellent user experience. photography, etc. The unanimous recognition of the application by various interest circles is inseparable from Flutter's strong control over the canvas and the team's meticulous carving.

△ Lemon8

△ Lemon8

Core of multi-platform development strategy

Flutter is at the heart of our company's current multi-platform development strategy. We started with a few applications and gradually developed to more than 90 applications now, targeting multiple platforms including mobile, web, desktop, and embedded devices. We are committed to promoting the deep application of Flutter in ByteDance and contributing to the core framework.

—— Wang Ying, Technical Director of ByteDance's Flutter Infra Engine

The mobile medical service application "Xiaohe Health", the application "Xingfuli" that recommends high-quality real estate content and information, the team virtual office tool "Coze", and the community platform "Nuggets" familiar to programmers and product managers... Today, ByteDance has developed more than 90 applications using Flutter, all of which are jointly supported by more than 800 Flutter developers of ByteDance and the Flutter Infra team.

With such widespread adoption of Flutter, the team is naturally amazed at the open community of Flutter: developers from all over the world are contributing code, writing packages, improving documentation, and making tutorials for the community, and there are always people scratching their heads. Questions can be answered in the community.

The team is also making their own contributions to the Flutter core framework. For example, improve the stability of the core framework on iOS and Android , optimize functions such as RasterCache , PlatformView , multi-engine , thread scheduling , x86 desktop system and Web , and provide fixes for Flutter's DevTools and null security issues , etc.

With the release of Flutter 3 , I believe the ByteDance team will create more and better multi-platform localized applications, let's wait and see!


Flutter
350 声望2.5k 粉丝

Flutter 为应用开发带来了革新: 只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。Flutter 中文开发者网站 flutter.cn