京東技術中颱Flutter實踐之路(二)

2022-06-07 16:36:09 字數 2292 閱讀 1244

移動網際網路歷經高速發展的**10年,多樣的市場需求催化了前端技術不斷公升級改造,真正的前端大統一時代正在來臨,不管你願不願意相信,大前端技術的發展趨勢已是定勢,前進的腳步無可改變。 眾所周知,ios、android、web分別代表著前端技術需要考慮的必要方向,傳統的移動網際網路開發需要同時考慮多個平台對應的技術研發資源儲備,公司開發同乙個業務,需要至少三個獨立團隊參與評審及開發,測試也需要至少三倍工作量以完成對應平台的**測試,這樣的生產效率已無法滿足業務快速迭代的需要,生產成本之高也嚴重考驗著企業的承受能力,且多個平台的一致性體驗並不盡如人意,因此,僅使用一套**,同時適配多個平台的能力就顯得極為重要。 目前,hybrid、rn、weex、小程式等框架陸續推出,各網際網路大廠也在積極嘗試跨端開發技術的實踐應用,已有很多業務使用到跨端技術,但各個框架各有優劣,且仍然離不開原生開發;而flutter框架推出後,以其效能高,多端平台的ui一致性高,及開發除錯效率高等強優勢,越來越吸引著原生開發者的注意,並成為其首選的跨平台技術框架。

內容回顧:乾貨 | 京東技術中颱的flutter實踐之路(一)

△ jdflutter 完整架構 △
01 容器容器是我們在作業系統和業務執行邏輯之間的中間層,它隔離了作業系統和應用邏輯的直接聯絡,也隔離業務和基礎元件之間的依賴,讓開發者無需關心各個作業系統的差異,只需面向容器api程式設計即可,這樣做的好處有以下幾點:

統一技術棧,簡化工作量:業務開發統一採用flutter開發,無需額外配備android和ios開發工程師,適配的工作全部由容器來做;

底層模組可替換,更方便維護:容器對下層模組也提供了統一的協議層,只要上層api不變,底層模組可以根據協議來重新實現和替換;

減少包的體積大小:統一api之後,開發者不用再去自己依賴第三方外掛程式,大家統一共用容器的基礎元件,提高復用性,jdflutter容器元件為獨立外掛程式,通過注入依賴的方式注入到容器之中,耦合性非常低;在混合開發中,一般native工程中都會有相同的功能元件,我們可以將native元件注入的到容器中來代替容器中的元件,這樣可以做到最大化的減少容器的體積;

業務**隔離:元件可獨立編譯除錯,容器提供了一套完整的執行環境,每個業務元件可以獨立去開發,編譯,執行,這樣多個業務團隊可以並行去開發各自的業務工程,通過router的方式實現依賴跳轉,避免**交叉呼叫,減少**汙染。

06 混合開發flutter與原生的混合開發有兩種情況,其一,開發 flutter 業務的同學,需要和原生做互動,因此需要有 flutter 和原生的混合編譯環境;其二,使用原生 sdk 開發業務的同學,需要和 flutter 業務一起整合打包,但對 flutter 透明,無需編譯flutter的**,以減少對 flutter 編譯環境的依賴,我們將flutter 編譯成 aar 或framework,放入原生專案中即可,以下為jdflutter混合開發的流程介紹。

07 多團隊基於容器的開發方式容器提供了一套完整的執行環境,實現了業務元件解耦,每個業務都可以獨立編譯,執行,除錯,待到發布時再整合主客戶端,業務整合時可通過線上自動完成,這樣好處上文已說明,可減少業務元件之間的交叉依賴,同時也可以提公升編譯除錯效率。

[閱讀原文]

技術中颱與業務中臺到底講了什麼?

最近有童鞋在我之前發布的 聊聊中臺 一文中提問 技術中颱是什麼?和業務中颱又有什麼區別?考慮到在工作中,也有部分同事問過這個問題,我這裡總結一下形成此文進行答覆。這裡引用王健老師在專欄 說透中臺 中給中台下的定義 企業級能力復用平台 所謂企業級,主要是指中臺處理的問題範圍在企業級別,即包含多條業務線...

資料中臺總體技術架構

中颱的概念熱了將近兩年,有人認為中颱是趨勢,有人認為中颱是炒作。在右上角,可以看到資料中臺依舊可以支援一些分析的場景。當然,這樣的資料中臺必須具備資料的治理能力,如質量,編目,建模等等。所以資料中颱的主要價值在於,資料的協同效率 復用效率和交付速度。原各個系統中的資料不再各自為政,而協同到一起效率提...

談談資料中臺技術體系

昀哥 20191109 我們做大資料很早,2011年 2012年就開始了,到現在基本形成了一整套完整的資料中臺體系。大資料基本為這三件事服務 1.決策依據和經營分析 2.運營排程 3.外部機構盡職調查和穿刺 各個公司各條業務線對資料高度敏感,尤其是打仗 有仗打仗,沒仗造仗 的時候基本上是實時排程,加...