App RN改造方案

一、需求背景:

1、**需求評審后,按照原生客戶端的排期,要年后2月份才能上線。時間太久;

2、客戶端人力資源緊缺(iOS 3,Android 2),如果承接***需求,人力被占用,其他需求都無法安排;

問題點:大需求場景下,暴露出當前的團隊規(guī)模結合當前技術棧在承接能力方面有所欠缺;

二、需求目的:

  • 1、客戶端建設跨端和動態(tài)化能力,提高工作效率,縮短需求交付時間。

  • 2、通過新的技術棧,優(yōu)化大需求承接能力:大前端技術棧,前端也可以開發(fā)客戶端需求

三、需求詳情:

1、app建設跨端能力:app內接入react-native模塊;開發(fā)通用基礎能力;

2、建設動態(tài)化能力:包管理平臺

四、需求預期收益:

目標值:綜合提效30%

人效提升計算公式:∑(Android Native總人日+iOS Native總人日-RN總人日)/ ∑(Android Native總人日+iOS Native總人日)

示例:

實現(xiàn)某一需求的排期如下:

  • 純展示需求
開發(fā)方式 iOS Android rn 合計
native 5 5 10
rn 5 5

提效結果: (10 - 5)/ 10 = 50%

  • native和rn弱交互需求,涉及少量native開發(fā)
開發(fā)方式 iOS Android rn 合計
native 5 5 10
rn 1 1 5 7

提效結果: (10 - 7)/ 10 = 30%

  • native和rn交互需求,涉及一定量native開發(fā)
開發(fā)方式 iOS Android rn 合計
native 5 5 10
rn 2 2 5 9

提效結果: (10 - 9)/ 10 = 10%

五、方案內容

5.1、什么是跨端和動態(tài)化

app需求交付流程

image.png

開發(fā)流程分析(跨端)

image.png

使用原生開發(fā):

  • 開發(fā)階段:iOS和Android需要分別指定開發(fā)人員(2人),編寫各自平臺的代碼;

  • 測試階段:需要分別指定不同平臺的測試人員(2人);

使用跨端開發(fā):

  • 開發(fā)階段:指定單一單發(fā)人員(1人),編寫js代碼,支持兩個平臺使用,部分場景需要額外編寫一些適配代碼;

  • 測試階段:由于是一套代碼,僅需要一個人測試即可(1人),需要額外關注一下不同平臺的適配是否正常;

發(fā)布流程分析(動態(tài)化)

image.png

使用原生發(fā)版:

  • 應用打包后,需要分別提交各自的應用商店審核,審核通過后,再操作上線。

    • 依賴商店審核時間,存在審核不通過甚至拒絕上架的問題,需要重新提審;

    • 對緊急bug修復和時間敏感需求不友好;

  • app發(fā)版后,僅僅是更新了應用商店內的版本;

    • 需要引導用戶升級,但是用戶有可能不升級app,存在版本碎片化的問題;

    • 新功能無法短時間內觸達全量用戶;

使用動態(tài)化發(fā)版:

  • 發(fā)版僅僅是往自有服務器提交靜態(tài)資源,不再受限于應用商店,靈活可控。

  • 直接提交靜態(tài)資源到自己的服務器,app內自動拉取最新版本,用戶啟動app即可看到新功能。新功能可以快速觸達全量用戶;

目標流程

image.png

跨端:一套代碼多端投放。開發(fā)、測試效率都更高。

動態(tài)化:動態(tài)更新。用戶打開app的時候,無感升級到最新的版本。繞過商店審核,版本管理更靈活。

5.2、技術選型

React-native: flutter

2015年Facebook發(fā)布的跨端開發(fā)框架,目前得到了國內外很多知名公司的青睞。

國內:阿里、騰訊、百度、字節(jié)、京東、美團、快手、funplus等

國外:Facebook、特斯拉、Shopee等

使用方式

行業(yè)內rn的四種使用方式:使用rn的常見方式

一、整個app使用RN開發(fā): 適合新項目

二、native內嵌入單一RN模塊: 適合存量項目

三、native和rn混編:適合存量項目

四、RN容器化: 適合多個app項目

5.3、RN的路線規(guī)劃

二 ---> 三 ---> 四

單一的RN模塊 ---> native和RN混編 ---> 容器化復用

三 ---> 四

native和RN混編 ---> 容器化復用

序號 能力項 人力投入 備注
1 端內集成rn模塊(iOS、Android) iOS:1Android:1
2 熱更新 iOS:1Android:1前端:1 需要支撐不同的環(huán)境:feature、uat、pre、daily、prod
3 HDesign UI 組件庫(RN)
4 分包 iOS:1Android:1前端:1
5 調試工具 iOS:1Android:1
6 包管理平臺 iOS:1Android:1前端:1運維:1
7 路由協(xié)議 iOS:1Android:1前端:1
8 通知中心 iOS:1Android:1前端:1
9 bridge管理中心 iOS:1Android:1前端:1
10 集成對h5的支持 前端:1
11 容器建設 iOS:1Android:1
12 封裝跨端包,提供給更多app快速接入 iOS:1Android:1
13 性能監(jiān)控方案 iOS:1Android:1前端:1
14 線上錯誤收集 iOS:1Android:1前端:1

執(zhí)行步驟:三步走

  • 【可用】試點業(yè)務跑通技術方案:試點需求周四確定

  • 【好用】能力建設:建設更多高質量的跨端基礎能力

  • 【愛用】打磨細節(jié):更強大更復雜的能力建設以及使用體驗的優(yōu)化

5.4、階段劃分

整體分為三個階段

階段一:(2023.Q4)

  • 快速提供跨端能力(2023.10)

  • 支撐業(yè)務開發(fā):社區(qū)需求(2022.12)

階段目標:

序號 內容 時間
1 端內集成rn模塊(iOS、Android) 2023.10
3 試點業(yè)務落地 待細評,預期2023.12

階段二:(2024.Q2)

  • 支撐更多業(yè)務開發(fā)

  • 基建能力建設

  • 跨端人才培養(yǎng)

階段目標:

序號 內容 時間
1 提供熱更新能力 2023.10
2 HDesign UI 組件庫(RN) 2024.Q1
3 分包 2024.Q1
4 調試工具 2024.Q2
5 包管理平臺 2024.Q2
6 路由協(xié)議 2024.Q1
7 通知中心 2024.Q1
8 bridge管理中心 2024.Q1
9 性能監(jiān)控方案 2024.Q1
10 線上錯誤收集 2024.Q1
11 調試工具 2024.Q2
12 包管理平臺 2024.Q2
13 單元測試

階段三:(長期)

  • 提升開發(fā)體驗和效率

  • 更多基建完善

  • 打磨細節(jié)

階段目標:

序號 內容 時間
1 集成對h5的支持 2024.Q3
2 容器建設 2024.Q3
3 封裝跨端包,提供給更多app快速接入 2024.Q4

六、資源投入

人力:成立跨端專項小組:

方向 Android iOS 前端 測試
人力 1 1 1.5 1

服務器:搭建熱更新服務的時候至少需要一臺靜態(tài)資源服務器(2024.Q2

七、依賴方

后期建設包管理平臺的時候,需要運維參與

八、風險點

整體方案比較成熟,技術上無明顯風險點。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容