Tonal

Tonal 使用 Flutter 确保功能对等

目标

Tonal 的移动工程团队在公司宣布其独特的家庭健身产品前几个月才开始开发移动应用,因此团队需要尽可能快地行动。Tonal 的原生 Android 软件团队致力于构建运行在 Tonal 硬件上的原生 Android 应用,这使得只有一名软件工程师从零开始构建移动应用。由于 Tonal 之前从未发布过移动应用,他们不知道 Android 和 iOS 用户各占多少比例,但他们确实知道他们希望同时关注这两个平台并保持功能对等。他们还需要一个框架,使他们能够构建一个定制的、品牌化的用户界面,既能体现 Tonal 的独特性,又能像一个友好的原生移动应用。此外,由于该应用需要长期维护,他们需要一个解决方案,使其能够随着不断壮大的软件工程师团队而扩展。

为什么选择 Flutter?

Tonal 立即对 Flutter 的架构印象深刻。与其他跨平台框架不同,Flutter 负责渲染用户界面。这一基本的架构决策让 Tonal 更有信心能够构建一个定制的体验,而无需花费大量时间调试跨平台上的视觉问题。尽管团队中没有人有 Dart 经验,但在试用该语言后,团队发现它友好且直观,因此充满信心。由于该框架提供了代码格式化工具、代码检测工具、静态代码分析器以及标准约定文档,团队能够非常快速地开始构建功能。在不到使用其他框架构建概念验证所需时间的一半时间内,Tonal 团队就能够使用 Flutter 重建整个应用。

他们的解决方案

尽管团队成员背景和经验各异,但 Dart 和 Flutter 对每个人来说都易于快速上手。Tonal 能够在不到一年的时间内,将应用从一个想法变成一个功能完备、可投入生产并部署给实际用户的移动应用。Flutter 凭借 Dart 的 AOT 和 JIT 编译能力所实现的热重载等功能,使其能够快速开发。自 2019 年应用发布以来,Tonal 移动团队能够快速迭代应用,每两周发布新版本。

“Flutter 的开发者体验是一流的。与大多数自诩拥有‘热重载’开发者体验的 JavaScript 框架不同,Flutter 的热重载确实可靠,并且始终非常快。”

- Max Lapides,Tonal 移动软件工程经理

成果

Flutter 使得用极少的工程资源发布应用变得容易。当 Tonal 在 2019 年发布其移动应用时,项目上只有两名工程师。但尽管此后团队规模显著扩大,Flutter 仍然支持着应用日益增长的复杂性,并随着公司的发展而扩展。Tonal 迄今已在移动应用中发布了一系列令人难以置信的功能,包括自定义图表库、使用 Rive 的动画、一个可以流畅滚动数万活跃成员的排行榜、一个自定义原生健身视频播放器等等,并且新功能还在不断推出。所有这些都在 iOS 和 Android 上实现了完整的功能对等。Flutter 让 Tonal 能够专注于构建出色的功能,并让他们的用户保持参与和愉悦。