https://www.bilibili.com/vide...架構
貝殼找房是科技驅動的新居住服務平臺,致力於在二手房、新房、租房以及裝修等居住領域爲三億家庭提供全方位的品質居住服務。如此龐大的用戶羣體,天然也有着十分多樣和複雜的使用場景和需求。以往使用原生開發模式時沒有碰到過的問題,也在業務迅速增加後逐漸暴露出來。ide
在引入 Flutter 技術以前,貝殼移動端主要採用原生代碼進行開發,但業務的快速增加讓咱們一度人手十分緊缺。正好 Flutter 是一項跨平臺技術,具備極高的代碼複用性,也能方便地直接添加到既有的原生應用中,這種靈活性也是咱們最終採用它的重要緣由。工具
—— 張華峯,貝殼移動端架構負責人性能
目前貝殼大部分 App 均是在原生應用上添加 Flutter 進行開發的,混合開發佔比高達 80% 以上。測試
在解決了跨平臺和代碼複用性問題以後,問題天然回到了用戶體驗上: Flutter 能作到媲美原生應用的流暢度嗎?團隊給出的答案是確定的。動畫
(應用的) 看點直播等核心模塊均使用 Flutter 來實現,動畫酷炫,體驗流暢。製做的頁面運行效率也很高,App 核心頁面啓動時間徹底能夠媲美原生頁面。spa
—— 趙佳航,貝殼開發工程師設計
△ 貝殼應用啓動快速,體驗流暢ci
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 去打造跨平臺的優秀應用了呢?歡迎在評論區和咱們分享。