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