中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ArchSummit分享 | 高德地圖App架構演化與實踐

發布時間:2020-08-11 20:31:24 來源:ITPUB博客 閱讀:230 作者:amap_tech 欄目:軟件技術

講師介紹


郝仁杰,高德地圖無線開發專家。在7月13日落幕的2019年ArchSummit峰會上就高德地圖近幾年的App架構演化和實踐進行了分享。

背景概述


高德是國內領先的數字地圖內容、導航和位置服務解決方案提供商,端上分手機和車機兩條主線。近年來,高德業務迅猛發展,人員規模急速擴張,代碼量急劇膨脹,如何提高團隊高效并行作戰的能力,端架構在一致性和動態性方面做了很多嘗試:從最初的雙端原生單體架構,到地圖引擎下沉C++,再到動態UI框架的建設,收到了一定的成效, 但面對業務持續的高速發展,依然還有很多方面需要繼續完善。

為了讓業務開發有節奏的進行,項目上每年會制定一些公車計劃。公車就是每個App版本,貨物就是對應的產品功能,貨物組裝就是功能開發,公車計劃即每年的發版計劃,公車按照指定的時間來,把組裝好的貨物拉走。但由于雙端代碼差異較大、耦合嚴重、復用率低、職責不清晰、平臺工具簡陋等問題,公車并無法按照計劃拉走貨物,貨物組裝慢且質量差,迫使公車等待,導致整個版效周期長達3個月,崩潰率也高達萬分之八,公車變成了偽公車。

執行方案


為了使偽公車變為真公車,需要解決雙端差異問題、代碼耦合問題和平臺工具落后等問題,來提高穩定性、并行性和高效性。2018年端上通過雙端融合、組件化和研發中臺建設來達到目標。

ArchSummit分享 | 高德地圖App架構演化與實踐

雙端融合采用下沉C++、上漂動態UI和雙端拉齊的方式來實現。下沉C++,實現了跨端的同時提高了性能;上漂動態UI同樣實現了跨平臺,且降低了開發門檻,讓開發更簡單,效率更高,同時也為未來動態化做好鋪墊;雙端拉齊更多的是借鑒雙端的優勢做到融合,同時保留雙端的差異作為擴展,做到盡量保持一致的同時,也很好地兼容了Android/iOS平臺的特性。

組件化參考了手淘Atlas、BeeHive和網易LDBusMediator等成熟的容器方案并融合了高德自身的業務特點和設計思考,定義了容器、模塊、微應用、微服務和頁面路由。借鑒了Android組件化設計思想,讓業務專注于自身需要的服務,而無需關注其它。

ArchSummit分享 | 高德地圖App架構演化與實踐

通過架構的分層、分組,讓模塊的歸屬、職責清晰化。

ArchSummit分享 | 高德地圖App架構演化與實踐

容器為模塊提供了其內部的結構框架、架構分層、分組讓模塊找到自己的位置,二者結合實現了端上的組件化,解耦了代碼、提高了功能的復用率,也為業務并行開發打下基礎。

研發中臺建設根據當前的公車流程,結合組件化方案進行細分,制定了新的產、研、測、項詳細流程,并將流程中臺化,降低了風險、提高了效率、實現了研發并行。

ArchSummit分享 | 高德地圖App架構演化與實踐

實踐收益


雙端融合,解決一致性問題,提高了App的穩定性;組件化,解決代碼耦合、提高復用率;研發中臺建設,將流程自動化、標準化,同時結合組件化,實現了開發階段的并行,做到了真公車。發版周期縮短了一半。

通過針對性代碼質量治理,加以平臺管控,使得崩潰率從萬分之八降低到十萬分之八。

通過工具升級、組件化后基于產物的集成,打包時間從40mins+降低到8mins。

未來展望


2018年,高德客戶端通過一系列架構治理,從偽公車變成了真公車,但這只是近幾年架構演進的一個階段性成果。未來,我們要發揮動態UI的優勢,讓業務真正動態化起來,從公車時代跨入到Feature Team時代,讓公車變成一條條公路,每個Feature Team就是一個小汽車,按照自己的節奏裝好貨物后,就可以在修好的公路上自由的行駛,更好地做到靈活、并行和高效!

ArchSummit分享 | 高德地圖App架構演化與實踐

結語


歡迎大家掃描高德技術公眾號關注更多高德技術及細節,也歡迎大家加入高德,與我們一同探索高德地圖App架構的演化之路!

ArchSummit分享 | 高德地圖App架構演化與實踐


關注高德技術,找到更多出行技術領域專業內容

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尖扎县| 巍山| 遵义县| 易门县| 乌拉特中旗| 绥德县| 瓮安县| 涟源市| 湘乡市| 台南市| 乐业县| 台安县| 广河县| 固镇县| 陆丰市| 比如县| 乌兰察布市| 那曲县| 陈巴尔虎旗| 甘谷县| 鸡东县| 新泰市| 常州市| 江安县| 六盘水市| 专栏| 环江| 宜良县| 沙湾县| 嘉峪关市| 宝兴县| 台山市| 青田县| 孟连| 安仁县| 洛阳市| 保德县| 贡嘎县| 金门县| 托克逊县| 晋江市|