十年iOS老將的鴻蒙征途,京東支付馮笑的開(kāi)發(fā)實(shí)戰(zhàn)錄
原創(chuàng)在科技日新月異的今天,開(kāi)發(fā)者的角色愈發(fā)重要,他們不僅是技術(shù)的實(shí)踐者,更是創(chuàng)新的推動(dòng)者。馮笑是京東科技旗下京東支付研發(fā)團(tuán)隊(duì)的資深開(kāi)發(fā)者,迄今為止已有十年 iOS 開(kāi)發(fā)生涯。
如今,他肩負(fù)著雙重使命:一方面,他深耕 iOS 領(lǐng)域,持續(xù)維護(hù)和升級(jí) iOS 端的支付功能,確保服務(wù)的穩(wěn)定與高效;另一方面,他勇立潮頭,作為鴻蒙開(kāi)發(fā)的先鋒,從零開(kāi)始構(gòu)建京東支付 SDK 的鴻蒙版本,引領(lǐng)團(tuán)隊(duì)探索新的技術(shù)領(lǐng)域,為鴻蒙生態(tài)的繁榮發(fā)展貢獻(xiàn)力量。馮笑的雙重使命,不僅展現(xiàn)了他的技術(shù)實(shí)力,更體現(xiàn)了京東對(duì)新技術(shù)、新領(lǐng)域的敏銳洞察力和勇于探索的精神。

鴻蒙操作系統(tǒng)發(fā)布初期,馮笑便敏銳地嗅到了這場(chǎng)變革氣息。鴻蒙不僅僅是一個(gè)操作系統(tǒng)的誕生,更是國(guó)內(nèi)科技行業(yè)在國(guó)際壓力下,自研通用操作系統(tǒng)的重要里程碑,它覆蓋了手機(jī)、PC、平板、車機(jī)等眾多設(shè)備,擁有著無(wú)限的可能。
懷著對(duì)鴻蒙系統(tǒng)的濃厚興趣,馮笑毫不猶豫地申請(qǐng)了官方內(nèi)測(cè)名額,成為了鴻蒙開(kāi)發(fā)陣營(yíng)中的一員。
而機(jī)遇總是青睞有準(zhǔn)備的人。2023 年底,京東與華為正式達(dá)成戰(zhàn)略合作,宣布將全面啟動(dòng)京東全系 APP 的鴻蒙開(kāi)發(fā)工作。京東支付,作為京東集團(tuán)核心的基礎(chǔ)功能模塊之一,自然成為了首批攻堅(jiān)對(duì)象,承擔(dān)著在鴻蒙系統(tǒng)上重建支付生態(tài)的重任。馮笑也順理成章進(jìn)入到京東支付 SDK 鴻蒙版的開(kāi)發(fā)工作中。
個(gè)人興趣與工作使命完美地結(jié)合。馮笑深知,自己肩負(fù)的不僅僅是一份工作,更是一份責(zé)任,一份推動(dòng)鴻蒙生態(tài)發(fā)展、為用戶提供更優(yōu)質(zhì)支付體驗(yàn)的使命。帶著這份責(zé)任和使命,馮笑的鴻蒙開(kāi)發(fā)之路正式啟航。
從 iOS 到鴻蒙的轉(zhuǎn)型實(shí)戰(zhàn)
馮笑深知,要快速掌握一個(gè)全新的操作系統(tǒng),必須從官方渠道入手。因此,在內(nèi)測(cè)申請(qǐng)通過(guò)后,馮笑便開(kāi)始學(xué)習(xí)鴻蒙官方 API 文檔,全面了解鴻蒙操作系統(tǒng)的整體全貌、運(yùn)行原理、開(kāi)發(fā)理念與整體架構(gòu)。
在學(xué)習(xí)過(guò)程中,馮笑不僅掌握了鴻蒙系統(tǒng)的基礎(chǔ)知識(shí),還思考如何將自己在 iOS 開(kāi)發(fā)中積累的經(jīng)驗(yàn)遷移到鴻蒙開(kāi)發(fā)中。他表示,SwiftUI 與 ArkUI 在聲明式 UI 編程理念上是有共性的,因此,在精讀文檔的過(guò)程中,會(huì)著重關(guān)注鴻蒙與 iOS 的差異性,尤其是在邏輯處理方面的不同。
在學(xué)習(xí)理論知識(shí)的同時(shí),馮笑更注重實(shí)踐的檢驗(yàn)。他充分利用現(xiàn)有項(xiàng)目模塊,在 DevEco Studio 中進(jìn)行實(shí)踐,將原有的 iOS 開(kāi)發(fā)模塊逐步遷移到鴻蒙平臺(tái)。通過(guò)“從學(xué)習(xí)中實(shí)踐,在實(shí)踐中學(xué)習(xí)”的方式,馮笑不僅加深了對(duì)鴻蒙操作系統(tǒng)的理解,更完成了從零到一的學(xué)習(xí),以及從認(rèn)知到落地的過(guò)程。
當(dāng)然,在實(shí)際開(kāi)發(fā)過(guò)程中,馮笑也遇到了不少挑戰(zhàn)。他坦言,在開(kāi)發(fā)初期,鴻蒙操作系統(tǒng)的功能還不夠完善,存在一些能力缺失的問(wèn)題。例如,在京東支付非常復(fù)雜的業(yè)務(wù)場(chǎng)景中,除了支付以外,還會(huì)涉及乘車碼、付款碼等衍生業(yè)務(wù)。其中,地鐵二維碼的生成需要嚴(yán)格按照國(guó)家規(guī)范來(lái)進(jìn)行,而鴻蒙操作系統(tǒng)初期僅支持字符串生成二維碼,無(wú)法滿足這一需求。于是,馮笑所在的京東支付研發(fā)團(tuán)隊(duì)聯(lián)系了華為鴻蒙,通過(guò)與華為鴻蒙駐場(chǎng)團(tuán)隊(duì)的緊密溝通和協(xié)作,經(jīng)過(guò)一個(gè)月左右的努力,終于解決了難題,相關(guān)功能也得以正常上線。
此外,在自研路由開(kāi)發(fā)過(guò)程中,馮笑也遇到了頁(yè)面唯一 ID 獲取、轉(zhuǎn)場(chǎng)動(dòng)畫控制等技術(shù)難題。他通過(guò)深入調(diào)研鴻蒙的官方能力,對(duì)比各種橫縱向解決方案,最終設(shè)計(jì)出了一套符合業(yè)務(wù)需求的自研路由方案,解決了當(dāng)前的技術(shù)難題,更為京東支付在鴻蒙生態(tài)的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
雙線作戰(zhàn):iOS 與鴻蒙的開(kāi)發(fā)平衡術(shù)
在鴻蒙的學(xué)習(xí)和開(kāi)發(fā)過(guò)程中,馮笑深刻體會(huì)到了鴻蒙與 iOS 的共性與差異。他指出,鴻蒙與 iOS 擁有很多共性,首先體現(xiàn)在對(duì)多語(yǔ)言開(kāi)發(fā)的支持上,這為開(kāi)發(fā)者提供了極大的靈活性,可以根據(jù)項(xiàng)目需求和個(gè)人偏好選擇最合適的編程語(yǔ)言。其次,兩者都支持組件化開(kāi)發(fā),提升代碼復(fù)用率和開(kāi)發(fā)效率。第三,在 UI 開(kāi)發(fā)方面,鴻蒙的 ArkUI 和 iOS 的 UI 框架都遵循聲明式開(kāi)發(fā)范式,讓開(kāi)發(fā)者可以更加專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。第四,鴻蒙和 iOS 都提供了成熟的跨平臺(tái)解決方案,并堅(jiān)持嚴(yán)格的應(yīng)用上架流程,確保應(yīng)用質(zhì)量和用戶體驗(yàn)。
而鴻蒙和 IOS 的差異性也很顯著。馮笑強(qiáng)調(diào),鴻蒙基于微內(nèi)核架構(gòu)設(shè)計(jì),從底層架構(gòu)上就奠定了萬(wàn)物互聯(lián)的基礎(chǔ)。這與 iOS 相對(duì)封閉的生態(tài)系統(tǒng)形成了鮮明對(duì)比,鴻蒙更強(qiáng)調(diào)設(shè)備間的無(wú)縫協(xié)同與生態(tài)融合。在開(kāi)發(fā)范式上,鴻蒙積極擁抱聲明式 UI 編程范式,與 iOS 傳統(tǒng)的命令式 UI 編程(如 Object-C)對(duì)比時(shí),開(kāi)發(fā)效率提升更為明顯。此外,鴻蒙為開(kāi)發(fā)者提供了更為豐富的公共能力庫(kù),包括各種 UI 組件、功能組件以及最佳實(shí)踐和技術(shù)文檔,全方位支持開(kāi)發(fā)者高效開(kāi)發(fā)。
更重要的是,鴻蒙對(duì)用戶隱私的保護(hù)超越了 iOS。馮笑表示,鴻蒙操作系統(tǒng)對(duì)于用戶隱私權(quán)限要求是非常高的,而且隱私授權(quán)都是最小單元化的授權(quán)。例如應(yīng)用中需要調(diào)用相冊(cè)中的照片,iOS 授權(quán)是將整個(gè)相冊(cè)授權(quán)使用,而鴻蒙會(huì)對(duì)單張照片進(jìn)行授權(quán),極大地保護(hù)了用戶的隱私。
如今,馮笑在京東支付研發(fā)團(tuán)隊(duì)同時(shí)肩負(fù)著 iOS 和鴻蒙的雙線開(kāi)發(fā)任務(wù)。對(duì)于已經(jīng)相當(dāng)成熟的 iOS 版本京東支付 SDK,他的日常工作主要集中在業(yè)務(wù)需求的迭代開(kāi)發(fā)和系統(tǒng)架構(gòu)的持續(xù)優(yōu)化,確保支付功能的穩(wěn)定性。而鴻蒙版本由于剛剛完成基礎(chǔ)架構(gòu)和核心業(yè)務(wù)流程的搭建,馮笑的工作重心放在三個(gè)方面。首先是功能拉齊,對(duì)標(biāo) iOS 版本,逐步實(shí)現(xiàn)鴻蒙端支付功能的完整覆蓋;其次,緊跟鴻蒙 API 升級(jí),及時(shí)對(duì)現(xiàn)有開(kāi)發(fā)框架進(jìn)行優(yōu)化改進(jìn);第三,持續(xù)維護(hù)和豐富鴻蒙端的組件庫(kù)和功能庫(kù),沉淀公共技術(shù)能力,提升團(tuán)隊(duì)整體開(kāi)發(fā)效率,為鴻蒙生態(tài)的繁榮發(fā)展貢獻(xiàn)力量。
開(kāi)發(fā)者啟示錄,擁抱鴻蒙新征程
對(duì)于從 iOS 轉(zhuǎn)型到鴻蒙的開(kāi)發(fā)者來(lái)說(shuō),馮笑有著豐富的經(jīng)驗(yàn)和深刻的見(jiàn)解。他建議道,首先,理解并掌握聲明式 UI 編程理念是鴻蒙開(kāi)發(fā)的核心,也是與 iOS 傳統(tǒng)命令式 UI 開(kāi)發(fā)范式的關(guān)鍵區(qū)別。其次,要通過(guò)官方 API 文檔學(xué)習(xí)基礎(chǔ)能力知識(shí),并動(dòng)手實(shí)踐撰寫小 demo 或項(xiàng)目。只有通過(guò)實(shí)踐,才能真正掌握鴻蒙開(kāi)發(fā)的精髓。
馮笑強(qiáng)調(diào),在開(kāi)發(fā)鴻蒙應(yīng)用時(shí),最主要的是思想的轉(zhuǎn)變,從過(guò)去命令式 UI 編程轉(zhuǎn)向聲明式 UI 編程,學(xué)會(huì)使用狀態(tài)管理的裝飾器來(lái)驅(qū)動(dòng) UI 的刷新。
對(duì)于新手開(kāi)發(fā)者來(lái)說(shuō),馮笑也給出了自己的建議和鼓勵(lì)。他表示,首先,要抱著包容的態(tài)度去接觸和學(xué)習(xí)鴻蒙系統(tǒng)。不要害怕遇到困難和挑戰(zhàn),因?yàn)檫@些都是成長(zhǎng)的機(jī)會(huì)。其次,要通過(guò)看官方 API 文檔和實(shí)踐項(xiàng)目來(lái)學(xué)習(xí)鴻蒙開(kāi)發(fā)。官方文檔是學(xué)習(xí)鴻蒙開(kāi)發(fā)的最佳資源之一,而實(shí)踐項(xiàng)目則是檢驗(yàn)學(xué)習(xí)成果的最好方式。
馮笑說(shuō),“行路難,行路最難的地方是邁出第一步。但是,對(duì)于所有的學(xué)習(xí)者來(lái)說(shuō),只要邁出第一步,后面的路都會(huì)非常簡(jiǎn)單,學(xué)習(xí)進(jìn)度也會(huì)非???。也希望更多開(kāi)發(fā)者加入鴻蒙生態(tài),共同推動(dòng)鴻蒙系統(tǒng)的繁榮發(fā)展?!?/span>
結(jié)語(yǔ)
展望未來(lái),隨著鴻蒙系統(tǒng)的不斷成熟和生態(tài)的日益完善,馮笑和他的團(tuán)隊(duì)將在萬(wàn)物互聯(lián)的時(shí)代浪潮中,繼續(xù)書寫屬于他們的技術(shù)傳奇。而對(duì)于廣大開(kāi)發(fā)者而言,馮笑的故事也許是他們進(jìn)入鴻蒙生態(tài)的一盞明燈,照亮了他們擁抱新技術(shù)、探索新領(lǐng)域的道路。正如馮笑所言:“行路難,最難的是邁出第一步?!?愿每一位開(kāi)發(fā)者都能勇敢地邁出那一步。



















