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 能夠專注於構建出色的功能,並讓他們的使用者保持參與和愉悅。