# 開發者說 #
【開發者說】欄目是為HarmonyOS開發者提供的展示和分享平臺,在這里,大家可以發表自己的技術洞察和見解,也可以展示自己的開發心得和成果。
歡迎大家積極投稿,后臺回復【投稿】,即可獲得投稿渠道。期待你們的分享~
本期我們給大家帶來的是廣發證券前端開發工程師黃欽佳的分享,希望能給你的HarmonyOS開發之旅帶來啟發~
10月22日,華為開發者大會2021(Together)在東莞松山湖開幕。廣發證券受邀作為技術論壇嘉賓參與大會,在HarmonyOS應用與服務開發論壇上,信息技術部前端開發工程師黃欽佳分享了廣發證券原子化服務的應用開發案例。
一、廣發證券接入鴻蒙生態
隨著數字時代的發展,泛終端場景下的智能化信息服務將成為大眾日益迫切的需求,在一些特定場景中如跑步、健身等,客戶不便使用手機,無法即時享受投資服務。
針對此類場景,廣發證券基于HarmonyOS原子化服務輕量化的特點,推出“行情服務”、“開戶服務”、“秒答服務”三個原子化服務,其中“行情服務”覆蓋智能手機、智能手表,“開戶服務”和“秒答服務”僅限于手機端使用。
投資者只需在搭載HarmonyOS 的手機服務中心搜索“廣發”,將原子化服務卡片添加至“我的服務”或手機桌面,點擊相應卡片便可享受到各類投資服務,包括一鍵查看全球實時行情、免安裝完成快速開戶、學習投資理財課程、連接投顧秒答等。用戶點擊“同步自選”,選擇設備,可將自選行情一鍵流轉至手表中,實現廣發行情服務的無縫流轉,給用戶流暢完整的沉浸式體驗。
1
豐富的服務卡片
服務卡片是將原子化服務/應用的重要信息以卡片的形式展示在桌面,用戶可在不同終端通過快捷手勢使用卡片,通過輕量交互行為實現服務直達。
對此,廣發證券開發了4類服務卡片,涵蓋證券開戶、廣發秒答、股票行情和投資課程等多種規格,適用于手表、手機等不同場景,為客戶提供多樣化個性服務。
2
跨終端流轉及自適應
HarmonyOS 采用服務流轉的分布式操作方式,通過流轉能力打破設備界限,實現多設備聯動,使原子化服務可流轉,實現如郵件跨設備編輯、多設備協同健身、多屏游戲等分布式業務。
通過嵌入流轉功能,可以便捷地將服務流轉到不同的 HarmonyOS 設備,包括但不限于手表等設備,也可靈活地切換和管理流轉任務,實現多設備的協同聯動,為客戶提供全場景多終端的服務體驗。
針對不同終端的特點,廣發證券提供了不同的展示布局。手機屏大,可展示信息的全貌,手表小屏,則展示精煉行情信息。未來拓展智慧屏等大屏幕,則可利用橫屏同時展示更多內容。
同時,用戶也可以通過手機終端授權進行登錄,同步用戶的自選股列表,實現多終端服務流轉,隨時隨地查看股票行情。在手表端點擊同步自選股的時候,手機端可以直接彈出授權提示框,點擊確認后,即可將手機中自選股票同步流轉至手表,整體流程便捷流暢。
豐富的服務卡片和跨終端的互聯互通,組成一個虛擬的超級終端,將人、設備、場景有機地聯系在一起,讓客戶能在全場景生活中接觸的多種智能終端實現極簡連接、極簡交互、硬件互助等體驗,用最合適的設備提供最佳的金融服務體驗。
二、HarmonyOS應用與服務開發技術分享
以下是從架構設計到具體代碼交付過程中的一些思考及實踐。
1
首先介紹一下技術選型?!癏armonyOS的Java UI提供了細粒度的UI編程接口,使應用開發更加靈活;JS UI提供了相對高層的UI描述,使應用開發更加簡單?!?/p>
在前期調研的時候,廣發證券發現HarmonyOS應用支持JS UI,并且提供了不少的組件和能力,看起來挺像小程序的開發過程;且支持CSS的使用,在前端開發的過程中,CSS布局是非常靈活和高效的,也直接支持npm的海量資源,所以廣發證券決定優先用JS。
2
模塊設計
關于模塊設計的心路歷程,廣發證券最初的構想是將多終端類型共用一個entry,但隨著開發過程的逐漸深入發現有些配置必須按照模塊進行,比如說圖標和橫豎屏模式的設置。
于是他們將模塊關系更改為:一個公共模塊(common)+多個Entry(對應不同終端)+多個FA。絕大部分的業務邏輯代碼甚至圖片資源,都集中在common中。
在common中,他們通過Java 和 JS 常量共享、圖片同步、npm本地依賴等這幾項設計,實現了JS組件在開發體驗中比較完整的閉環。對此,他們還編寫了gradle腳本,實現JS組件圖片從common到引用模塊的自動同步,構建的也會自動運行npm install,保證JS組件在目標模塊的更新。
3
一次開發,多端部署
在前面效果展示時,手機、平板里的服務卡片都有相同的功能,其實它們是同一套代碼(如圖所示),只是在不同終端部署時,根據設備類型和屏幕狀態將CSS做出調整,如手表應用只使用了自選股部分的功能。
一次開發,多端部署
4
鴻蒙操作系統的能力在實踐中的應用
接下來看看下開發過程中,廣發證券是如何使用鴻蒙操作系統的一些能力的。
(1)組件
廣發證券進行JS開發時,主要依靠SDK提供的UI組件。除了常用的div, text, image 組件,還有list、swiper、chart、tabs這些交互較為復雜的組件(如圖9所示)。
在這些組件中,list組件,用來展示自選股列表;swiper 和 tabs 提供了常見的滑動切換效果,用起來很方便,其中swiper用在了自選tab和直播tab的切換,tabs則用于課程內容的切換。與tabs關聯的tab-bar容納了他們的課程類別列表,tab-content用來展示每個類別下的視頻列表;chart組件展示簡單的行情分時曲線也是沒問題的。
(2)JS 調用PA
其次,JS UI需要配套的JS API提供一些底層系統能力,如果當前SDK還不支持,就會選擇PA的方式,自行實現并提供給JS。比如說以下幾個場景:
●掃碼功能用的是Java實現,掃碼結果如何傳遞給JS UI?這就需要一個數據中轉(代碼如圖10所示);
● 獲取設備名字和APP安裝狀態等能力需要通過Java代碼實現來實現;
JS調用PA
此外,前面提到的Java 和 JS 代碼共享功能在圖11也得到應用:左邊是JS調用PA,通過ShareConst的使用,從編碼上實現請求碼(code)的統一,避免可能的人為錯誤導致與Java功能對應不一致。
Java和JS代碼共享
(3)跨端協同
最后分享一下鴻蒙操作系統值得一提的特性——跨端協同??缍藚f同通過分布式軟總線,把不同類型的設備連接起來,并通過簡單的API進行靈活的相互調用。
需要先注意它的使用條件:相同華為賬號,動態申請權限,指定設備ID,指定跨端Flags。
三、展望
鴻蒙操作系統的超級終端及輕量化原子服務理念將給整個金融生態帶來巨大的變革。因此,廣發證券將堅持開放融合的理念,圍繞1+8+N全場景智慧生態拓展智能服務新觸點,深入探索研究鴻蒙操作系統帶來的全新技術與服務方式,進一步加快金融產品與鴻蒙操作系統間的融合;從產品、技術、場景聯合發力打造萬物智聯服務新體驗,構建更加開放融合的金融科技新生態,為每一位客戶提供更便利、更具價值的財富管理服務。
編輯:jq
-
JS
+關注
關注
0文章
76瀏覽量
17984 -
ui
+關注
關注
0文章
202瀏覽量
21291 -
HarmonyOS
+關注
關注
79文章
1947瀏覽量
29743
原文標題:HDC2021技術分論壇:廣發證券攜手HarmonyOS打造智慧金融服務
文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論