本文基于叫叫鴻蒙產(chǎn)品負責(zé)人墻柚凝與鴻蒙技術(shù)負責(zé)人劉征的直播分享,全面還原叫叫團隊歷時六個月完成鴻蒙原生應(yīng)用從0到1落地的實戰(zhàn)歷程。
———— / BEGIN / ————
2024年第四季度,華為正式上線鴻蒙系統(tǒng),未兼容該系統(tǒng)的APP將無法在華為設(shè)備上使用。
叫叫作為擁有大量華為用戶的應(yīng)用,為避免用戶流失,啟動了鴻蒙版應(yīng)用的開發(fā)與移植工作。
這不僅是一次簡單的系統(tǒng)適配,更是借鴻蒙生態(tài)契機完成安卓、iOS、鴻蒙三端技術(shù)統(tǒng)一的戰(zhàn)略升級。
叫叫團隊歷經(jīng)六個月,攻克了業(yè)務(wù)復(fù)雜度高、技術(shù)難度大、時間緊張等多重挑戰(zhàn),成功于2024年10月8日在鴻蒙應(yīng)用商店上線商用版本,期間積累的團隊搭建、周期管控、技術(shù)落地等經(jīng)驗,成為鴻蒙生態(tài)共建過程中的寶貴實踐。
叫叫參與鴻蒙生態(tài)共建的背景
華為計劃于2024年9月開始切換鴻蒙系統(tǒng),2024年第四季度正式上線,屆時未兼容該系統(tǒng)的APP將無法在華為設(shè)備上運行。
叫叫擁有龐大的華為用戶群體,系統(tǒng)切換后可能導(dǎo)致大量用戶無法正常使用應(yīng)用,基于這一核心訴求,叫叫啟動了鴻蒙版應(yīng)用的開發(fā)及移植工作,同時決定以此次適配為契機,完成多端技術(shù)統(tǒng)一的戰(zhàn)略升級,實現(xiàn)“一端維護、多端使用”的效率提升目標(biāo)。
叫叫鴻蒙應(yīng)用:從0到1的核心目標(biāo)
叫叫鴻蒙版應(yīng)用的開發(fā)核心圍繞兩大目標(biāo)展開,且兩項任務(wù)存在交叉,最終歷時六個月完成全部落地:
![]()
1)業(yè)務(wù)搭建
基于叫叫82版本,將現(xiàn)有業(yè)務(wù)完整移植到鴻蒙系統(tǒng),預(yù)計耗時2個月。
具體包含四大模塊:課外業(yè)務(wù)遷移,課內(nèi)業(yè)務(wù)遷移,鴻蒙原生支持,音視頻業(yè)務(wù)遷移。
![]()
2)技術(shù)升級
完成安卓、iOS、鴻蒙三端技術(shù)統(tǒng)一,預(yù)計耗時4個月。
![]()
核心任務(wù)包括:
Flutter跨平臺遷移;
Cocos到Cocos in Unity的適配;
音視頻跨平臺能力搭建;
H5調(diào)整為Flutter實現(xiàn)。
值得注意的是,叫叫APP已歷經(jīng)五年發(fā)展,包含120多個迭代版本及80個歷史版本,所有存量內(nèi)容需在六個月內(nèi)完成遷移與適配,任務(wù)量極大。
叫叫鴻蒙應(yīng)用:從0到1的實施路徑1. 合理搭建團隊,明確分工邊界
“單線不成絲,獨木不成林”,叫叫根據(jù)業(yè)務(wù)范圍劃分了四大專項小組,明確各小組的職責(zé)邊界與交付成果,確保團隊協(xié)作高效推進:
![]()
課外組:基于Flutter進行業(yè)務(wù)開發(fā)、組件擴展、業(yè)務(wù)移植及成果測試;
課內(nèi)組:負責(zé)Cocos、Unity組件能力擴展與業(yè)務(wù)移植;
原生&音視頻組:聚焦鴻蒙原生研發(fā),保障各容器的音視頻能力;
其他組:為整體業(yè)務(wù)提供綜合保障與支持。
2. 拆分時間節(jié)點,把控項目節(jié)奏
結(jié)合華為鴻蒙系統(tǒng)商用上線時間(2024年9月底),叫叫將六個月的總目標(biāo)拆分為四大關(guān)鍵節(jié)點,確保項目按計劃推進:
![]()
4月底:完成首個版本發(fā)版;
6月底:實現(xiàn)容器能力拓展;
8月底:完成全部業(yè)務(wù)移植;
9月底:沖刺商用版上線,確保按時兼容鴻蒙系統(tǒng)。
3. 強化技術(shù)培訓(xùn),夯實研發(fā)基礎(chǔ)
由于團隊成員初期對鴻蒙技術(shù)不熟悉,叫叫采取“外部培訓(xùn)+內(nèi)部傳導(dǎo)”的模式提升團隊技術(shù)能力:
組織核心技術(shù)人員參與鴻蒙線下培訓(xùn)、華為開發(fā)者大會(HDC),進行行業(yè)交流學(xué)習(xí);
培訓(xùn)后的核心骨干開展內(nèi)部小課堂,帶領(lǐng)其他成員練習(xí)實操,快速普及鴻蒙開發(fā)知識。
4. 優(yōu)化項目流程,提升迭代效率
![]()
迭代周期調(diào)整:初期采用兩周一個迭代的節(jié)奏,后嘗試改為一周一個迭代,效率提升66%,但因壓縮了需求準(zhǔn)備、迭代回顧及驗收時間,為保障質(zhì)量最終回歸兩周一個迭代的合理節(jié)奏;
研發(fā)測試并行:采用研發(fā)與測試錯軌并行的方式,進一步提升項目推進效率;
完善跟蹤機制:每個迭代周期內(nèi),每日召開早會同步進度、明確計劃、排查風(fēng)險;迭代結(jié)束后進行復(fù)盤總結(jié),優(yōu)化不足并對表現(xiàn)優(yōu)秀的成員給予獎勵。
![]()
5. 攻克課內(nèi)模塊難點,實現(xiàn)高效沖刺
課內(nèi)模塊因7月才正式介入,面臨“時間緊、任務(wù)重、需求久遠”的困境,涉及50+功能模塊,包括4個課表地圖頁、4個環(huán)節(jié)列表、6個自移環(huán)節(jié)、6個外包環(huán)節(jié)、12個原生題模板移植及Unity&Cocos所有業(yè)務(wù)邏輯。
為攻克這一難點,團隊采取了三項關(guān)鍵措施:
![]()
梳理功能模塊:產(chǎn)品同學(xué)基于線上現(xiàn)有能力,全面列出功能模塊,開發(fā)同學(xué)共同參與邏輯梳理;
對接原開發(fā)人員:找到該模塊歷史開發(fā)同學(xué),對齊細節(jié)與目標(biāo),減少邏輯理解偏差;
每日跟蹤進度:制定日目標(biāo)并嚴(yán)格跟蹤,確保每個環(huán)節(jié)按計劃推進,最終完成了原本需要多月開發(fā)的任務(wù),并通過棱鏡系統(tǒng)題模板自動化回歸、地圖頁回歸等全面測試。
6. 重視外部反饋,保障上線質(zhì)量
叫叫在項目推進過程中積極對接鴻蒙官方,提前走審核流程以盡早發(fā)現(xiàn)問題:
提審前:完成內(nèi)部測試與驗收,確保基礎(chǔ)功能無問題;
提審后:鴻蒙團隊進行二次測試,其細致的審核幫助發(fā)現(xiàn)了諸多內(nèi)部未察覺的問題,為應(yīng)用質(zhì)量提供了額外保障。
關(guān)鍵時間節(jié)點反饋:
2024年6月3日:送審5月版本,同步解決前期審核問題;
2024年6月15日:完成完整線上首版配置,趕在華為開發(fā)者大會前通過提審(暫未支持課內(nèi)業(yè)務(wù),因Unity在鴻蒙的適配問題正在處理);
2024年6月19日:上線鴻蒙應(yīng)用市場,獲得鴻蒙頒發(fā)證書;
2024年6月21日:沖刺發(fā)版全鏈路功能;
2024年8月1日:提審新版本;
2024年9月6日:送審新版本;
2024年9月30日:發(fā)布上線正式版本;
2024年10月8日:叫叫鴻蒙正式版在鴻蒙應(yīng)用商店上線。
鴻蒙應(yīng)用開發(fā)實戰(zhàn):技術(shù)細節(jié)與新特性落地1. 鴻蒙:開發(fā)入門與技術(shù)選型
1)鴻蒙開發(fā)入門核心要素
開發(fā)工具:DevEco Studio,支持項目創(chuàng)建、調(diào)試、打包與提審;
開發(fā)語言:ArkTS/JS(基于TS擴展,對多端開發(fā)者友好,上手難度低);
包管理與構(gòu)建:支持ohpm(依賴管理)、hvigor(構(gòu)建/編譯);
設(shè)備與調(diào)試:支持鴻蒙真機/模擬器調(diào)試,提供證書與簽名配置保障安全。
2)技術(shù)選型與開發(fā)成本
鴻蒙應(yīng)用開發(fā)主要有兩種路徑,叫叫結(jié)合自身技術(shù)升級需求,選擇了Flutter+Unity跨平臺開發(fā)方案:
純原生應(yīng)用開發(fā):基于ArkTS/JS;
跨平臺開發(fā):基于Unity、Flutter、RN等技術(shù),叫叫選擇Flutter+Unity組合,可復(fù)用現(xiàn)有跨平臺開發(fā)經(jīng)驗,降低遷移成本。
2. Flutter開發(fā)實戰(zhàn):鴻蒙應(yīng)用快速落地
鴻蒙已基于官方Flutter實現(xiàn)適配版本,兼容主流Flutter版本(如3.7.12、3.22.0、3.27.4),且支持243個官方Flutter庫及神策、騰訊直播等三方庫,應(yīng)用不復(fù)雜的前提下,僅使用Flutter即可開發(fā)鴻蒙Next應(yīng)用。
具體開發(fā)流程僅需兩步:
1)環(huán)境配置
下載鴻蒙版本Flutter源碼、DevEco Studio工具,配置SDK、node、ohpm、hvigor等環(huán)境變量(以Mac環(huán)境為例,需設(shè)置TOOL_HOME、DEVECO_SDK_HOME等路徑);
![]()
2)項目開發(fā)
通過代碼工具下載倉庫代碼(指定22.0-ohos分支),新建Flutter項目,即可實現(xiàn)運行、調(diào)試、HAR打包與HAP打包。
![]()
插件開發(fā)示例:若需實現(xiàn)圖片選擇庫的鴻蒙適配(假設(shè)該庫僅支持Android、iOS),只需找到Flutter中對應(yīng)的消息傳遞方法(如pickImages),在鴻蒙端實現(xiàn)原生能力(打開相冊、選擇圖片、回傳數(shù)據(jù)),即可讓Flutter應(yīng)用在鴻蒙端正常使用該功能。
![]()
3. 鴻蒙新特性落地:權(quán)限安全、掃碼直達與播控中心
1)權(quán)限和安全
鴻蒙推出安全訪問機制,將用戶權(quán)限管理轉(zhuǎn)化為數(shù)據(jù)管理,按需開放系統(tǒng)數(shù)據(jù)訪問權(quán)限。例如叫叫的照片選擇功能,無需用戶授予整個圖庫訪問權(quán)限,只需調(diào)用官方API喚起系統(tǒng)安全選擇器,用戶選擇圖片后,系統(tǒng)僅將選中圖片數(shù)據(jù)回傳給應(yīng)用,既保障隱私又簡化操作。
![]()
實現(xiàn)方式:創(chuàng)建PhotoSelectOptions類,配置媒體文件類型(如圖片JPG/PNG)、最大選擇數(shù)目,通過創(chuàng)建picker喚起系統(tǒng)安全選擇器,獲取用戶選中圖片的URIs即可。
2)掃碼直達
簡化站外進入APP的路徑,用戶無需通過H5跳轉(zhuǎn),直接通過鴻蒙系統(tǒng)級入口(相機、控制中心)掃碼即可直達應(yīng)用目標(biāo)頁面。
![]()
實現(xiàn)流程:開發(fā)者參考App Linking指導(dǎo)完成域名注冊→用戶通過鴻蒙掃碼入口發(fā)起請求→系統(tǒng)解析碼值并查詢對應(yīng)應(yīng)用→拉起應(yīng)用并跳轉(zhuǎn)至目標(biāo)服務(wù)頁。
代碼層面:在EntryAbility的onCreate(冷啟動)和onNewWant(熱啟動)回調(diào)中獲取碼值信息,解析后跳轉(zhuǎn)至對應(yīng)頁面。
3)播控中心
提供音視頻統(tǒng)一管控能力,支持多應(yīng)用、多設(shè)備播放切換,規(guī)范后臺播放管理,避免惡意后臺播放問題。應(yīng)用接入后,可在狀態(tài)欄、鎖屏等場景進行播放控制與顯示,還支持分布式媒體會話(設(shè)備間內(nèi)容投播與控制)。
![]()
實現(xiàn)方式:通過AVSessionManager創(chuàng)建媒體會話,設(shè)置媒體信息(標(biāo)題、圖片、藝術(shù)家等),創(chuàng)建會話控制器并監(jiān)聽播放狀態(tài)變化,實現(xiàn)與系統(tǒng)播控中心的聯(lián)動。
4. 鴻蒙生態(tài)支持:開發(fā)者保障
鴻蒙官方為開發(fā)者提供了完善的支持體系,包括工單系統(tǒng)、微信群交流、視頻會議指導(dǎo)等,問題反饋響應(yīng)迅速,基本可實現(xiàn)當(dāng)天問題當(dāng)天解決,為項目推進提供了有力保障。
叫叫鴻蒙:從1到N的未來規(guī)劃
完成從0到1的落地后,叫叫將圍繞用戶場景持續(xù)深化鴻蒙生態(tài)布局:
1)已落地功能:接入華為一鍵登錄,簡化用戶登錄流程;
2)開發(fā)中功能:鴻蒙智慧投屏,未來將支持設(shè)備間內(nèi)容投播,適配學(xué)習(xí)場景需求;
3)未來規(guī)劃:
接入小藝建議:基于孩子的學(xué)習(xí)習(xí)慣與課后閱讀場景,優(yōu)化內(nèi)容推薦,提升使用體驗;
拓展跨設(shè)備協(xié)同:探索手機、Pad、電腦等多設(shè)備無縫銜接的學(xué)習(xí)場景,滿足孩子在不同環(huán)境下的使用需求;
持續(xù)跟進鴻蒙新特性:待現(xiàn)有規(guī)劃功能落地后,結(jié)合產(chǎn)品場景適配更多鴻蒙系統(tǒng)新能力,深化生態(tài)融合。
項目落地關(guān)鍵總結(jié)與經(jīng)驗分享1.核心投入與成本評估
叫叫鴻蒙項目總耗時6個月,其中業(yè)務(wù)搭建2個月,技術(shù)升級4個月。核心投入在于資源與人力調(diào)配:抽調(diào)各線上小組人員組成單獨項目組,雖保障了項目推進,但對部分線上業(yè)務(wù)產(chǎn)生了一定影響,企業(yè)在布局鴻蒙項目時需提前做好人力評估與規(guī)劃。
2. 避坑要點
節(jié)奏把控:結(jié)合項目目標(biāo)拆分關(guān)鍵節(jié)點,根據(jù)實際情況調(diào)整迭代周期,優(yōu)先保障質(zhì)量;
技術(shù)適配:提前開展團隊技術(shù)培訓(xùn),充分利用鴻蒙官方支持資源,解決跨平臺適配、原生能力調(diào)用等問題;
外部協(xié)作:積極對接鴻蒙官方審核流程,借助官方測試力量提升應(yīng)用質(zhì)量;
難點攻堅:針對時間緊、任務(wù)重的模塊,采用“梳理清單+對接歷史開發(fā)者+每日跟蹤”的方式高效突破。
3. 開發(fā)實戰(zhàn)小故事
叫叫團隊在開發(fā)過程中曾遇到權(quán)限申請的小插曲:在安卓、iOS平臺,叫叫有一套自定義的權(quán)限申請規(guī)范(先通過自定義彈窗告知用戶,再彈出系統(tǒng)彈窗),但在鴻蒙開發(fā)時發(fā)現(xiàn)該彈窗無法正常彈出。
咨詢官方后得知,鴻蒙已簡化隱私數(shù)據(jù)訪問流程,無需單獨申請相冊等權(quán)限,直接通過官方API調(diào)用系統(tǒng)控件即可獲取所需數(shù)據(jù),這一特性既簡化了開發(fā)流程,又提升了用戶隱私保障,也讓團隊深刻感受到鴻蒙系統(tǒng)的創(chuàng)新價值。
結(jié)語
叫叫鴻蒙原生應(yīng)用的落地,既是應(yīng)對系統(tǒng)切換的必要舉措,也是一次成功的技術(shù)升級與生態(tài)布局實踐。
從團隊搭建到周期管控,從技術(shù)選型到痛點破局,叫叫用六個月的時間完成了復(fù)雜的多端統(tǒng)一與業(yè)務(wù)遷移,為同類企業(yè)提供了可參考的完整方案。
鴻蒙生態(tài)作為新興的國產(chǎn)操作系統(tǒng)生態(tài),憑借其差異化功能、完善的開發(fā)者支持與廣闊的應(yīng)用場景,正吸引越來越多的參與者。
未來,隨著更多開發(fā)者的加入與技術(shù)的持續(xù)迭代,鴻蒙生態(tài)將不斷完善,而叫叫也將繼續(xù)深耕用戶場景,在鴻蒙生態(tài)中實現(xiàn)從1到N的持續(xù)成長。
本文來自作者:豆豆
想要第一時間了解行業(yè)動態(tài)、面試技巧、商業(yè)知識等等等?加入產(chǎn)品經(jīng)理進化營,跟優(yōu)秀的產(chǎn)品人一起交流成長!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.