貝殼找房攜手 Flutter,為三億家庭提供更好的居住服務 — Flutter 開發者故事
貝殼找房是科技驅動的新居住服務平台,致力於在二手房、新房、租房以及裝修等居住領域為三億家庭提供全方位的品質居住服務。如此龐大的使用者群體,自然也有著十分多樣和複雜的使用場景和需求。以往使用原生開發模式時沒有碰到過的問題,也在業務迅速增長後逐漸暴露出來。
在引入 Flutter 技術之前,貝殼行動端主要採用原生程式碼進行開發,但業務的快速增長讓我們一度人手十分緊缺。正好 Flutter 是一項跨平臺技術,具有極高的程式碼複用性,也能方便地直接新增到既有的原生應用中,這種靈活性也是我們最終採用它的重要原因。
—— 張華峰,貝殼行動端架構負責人
目前貝殼大部分 App 均是在原生應用上新增 Flutter 進行開發的,混合開發占比高達 80% 以上。
在解決了跨平臺和程式碼複用性問題之後,問題自然回到了使用者體驗上: Flutter 能做到媲美原生應用的流暢度嗎?團隊給出的答案是肯定的。
(應用的) 看點直播等核心模組均使用 Flutter 來實現,動畫酷炫,體驗流暢。製作的頁面執行效率也很高,App 核心頁面啟動時間完全可以媲美原生頁面。
—— 趙佳航,貝殼開發工程師
△ 貝殼應用啟動快速,體驗流暢
Flutter 除了做到讓應用本身執行流暢以外,還能讓開發者們的工作效率大幅提升。這裡舉兩個例子:
首先是廣受好評的熱過載功能,對於習慣了編譯-部署-測試-修改迴圈的開發者來說,這個速度的提升甚至有點誇張。
原來改動一次介面然後重新編譯,短則幾十秒,長則數分鐘,現在只要 1 秒鐘就能看到效果,可以說是做到了百倍的效率提升。
—— 邵冬,貝殼資深工程師
△ 1 秒就能看到迭代效果的熱過載
然後是活躍的開發社群,很多開發中碰到的問題其實已經有其他開發者給出瞭解決方案,這自然讓開發者們得以避免重複勞動。貝殼開發團隊自己就用 Flutter 開發了製作海報的功能,其中用到了 15 款來自社群的 package。當然,團隊也有積極送出 PR 為社群提供反饋,貢獻自己做為社群一員的能量。
△ 用 Flutter 製作海報
Flutter 跨平臺、高效的屬性很快也吸引到了貝殼旗下其他應用的開發者們。比如團隊的另一個 App “被窩家裝” 就使用 Flutter 實現了按戶型找設計、新家播報等核心功能,完美實現了 “以標準精工實現個性設計” 的家裝服務體驗。
寫一套程式碼即可多端使用,效率提升了一倍,我們只用一個月就完成了 App 1.0 版的需求開發。
—— 王兆昭,被窩家裝資深產品經理
△ 被窩家裝的按戶型找設計和新家播報等核心功能使用 Flutter 實現
目前貝殼已經有十幾款 App 在使用 Flutter 技術,更是已經搭建起了完善的 Flutter 基礎設施,包括 Flutter 環境自動化設定工具、共享引擎容器、UI 自動化測試、基於 Flutter Web 的容災降級方案以及線上的異常監控和效能監控等系統,整體對 Flutter 技術的使用已經比較體系化了。
△ 線上異常監控和效能監控系統
我們的百餘名工程師已經成為 Flutter 的粉絲,在團隊裡熱情地推廣 Flutter 技術,這也讓我們在面對更快更復雜的設計和需求時更有底氣,為使用者開發出更好的應用。
—— 趙亞宇,貝殼資深工程師
在面對多樣、複雜且高速變化的需求時,貝殼的開發團隊已經找到瞭解決方案 —— Flutter。你是否已經準備好用 Flutter 去打造跨平臺的優秀應用了呢?歡迎在評論區和我們分享。