一谭溉、背景
B 端目前有三個(gè)模塊使用了地圖犬庇,雖然在三個(gè)模塊中使用的功能大致一樣呜袁,但由于模塊主 R 不同敞临,且地圖能力都是通過 JSAPI 的形式暴露給開發(fā)者,沒有統(tǒng)一的開發(fā)范式外盯,導(dǎo)致每個(gè)模塊在地圖能力使用上各有千秋摘盆。另外,還有存量問題待優(yōu)化饱苟,以及地圖 SDK 本身存在的問題需要解決或避免孩擂。
當(dāng)前地圖相關(guān)業(yè)務(wù)開發(fā)面臨以下挑戰(zhàn):
- 上手難度大,33% 的線上問題都是地圖能力使用不當(dāng)造成的箱熬;
- 存量問題多类垦,經(jīng)過長(zhǎng)達(dá) 1 個(gè)月的治理,仍然有 28%(7個(gè)) 的問題未處理城须;
- 統(tǒng)一維護(hù)難蚤认,B 端 3 個(gè)地圖業(yè)務(wù)模塊在地圖的能力使用方式各有不同,維護(hù)其中一個(gè)模塊的經(jīng)驗(yàn)在另一個(gè)模塊無法完全復(fù)用糕伐;
- 缺少通用能力的封裝砰琢,各模塊對(duì)地圖能力封裝方式不同,無法形成通用封裝。
二陪汽、橫向調(diào)研
2.1 調(diào)研目的
- 了解兄弟團(tuán)隊(duì)的地圖使用現(xiàn)狀训唱;
- 學(xué)習(xí)兄弟團(tuán)隊(duì)地圖相關(guān)錯(cuò)誤治理經(jīng)驗(yàn);
- 學(xué)習(xí)借鑒其他團(tuán)隊(duì)的地圖封裝方案挚冤;
2.2 調(diào)研內(nèi)容
地圖側(cè)調(diào)研
- 現(xiàn)在已知的
JSAPI
業(yè)務(wù)團(tuán)隊(duì)范圍况增; - 業(yè)務(wù)團(tuán)隊(duì)是否有一些正向反饋或者負(fù)向反饋,例如:避坑指南你辣、最佳實(shí)踐分享等巡通;
- 是否有團(tuán)隊(duì)提出
React/Vue
組件的需求、地圖團(tuán)隊(duì)是否有這方面計(jì)劃舍哄;
業(yè)務(wù)方調(diào)研
- 調(diào)研對(duì)象(下稱“對(duì)象”)使用美團(tuán)地圖
JSAPI
的時(shí)長(zhǎng)宴凉; - 開發(fā)/維護(hù)過程中是否遇到難以解決的問題、是否有記錄表悬;
- 對(duì)象使用
JSAPI
的方式(能力封裝弥锄、組件封裝、其他)蟆沫; - 對(duì)象認(rèn)為使用
JSAPI
研發(fā)效率如何籽暇,有沒有提效方面的的規(guī)劃; - 對(duì)象是否考慮過地圖組件封裝饭庞,是否有技術(shù)方案(考慮過)戒悠;
2.3 調(diào)研結(jié)果 & 結(jié)論
結(jié)果
本次共調(diào)研了 5 個(gè)團(tuán)隊(duì),分別屬于 4 個(gè) BU舟山,結(jié)果如下:
- 80% 的團(tuán)隊(duì)認(rèn)為使用 JSAPI 開發(fā)效率不高绸狐;
- 60% 的團(tuán)隊(duì)在使用地圖組件庫(kù);
- 僅 1 個(gè)團(tuán)隊(duì)有自研地圖組件庫(kù)的規(guī)劃累盗;
- 地圖側(cè)暫無支持組件庫(kù)的計(jì)劃(因?yàn)?BG 內(nèi)已有相關(guān)組件庫(kù))寒矿;
結(jié)論
使用地圖組件庫(kù)為最佳實(shí)踐。
三若债、社區(qū)方案調(diào)研
組件庫(kù) | 活躍度 | 下載量 | 下載趨勢(shì) | 是否支持美團(tuán)地圖 | 是否推薦 |
---|---|---|---|---|---|
react-amap | 極低 | 3.7k / m | 下降 | 是 | ? |
@uiw/react-amap | 極高 | 1.7k / m | - | 是 | ? |
roo-map | 極低 | 3.1k / m | - | 是 | ? |
image.png
四符相、技術(shù)方案結(jié)論
選定 @uiw/react-amap 高德地圖組件庫(kù) + 自有新增組件庫(kù) 來覆蓋支持地圖功能點(diǎn)。