HarmonyOS應(yīng)用開(kāi)發(fā)實(shí)踐沙龍深度回顧:從開(kāi)發(fā)工具到元服務(wù)

2024年8月11日,一場(chǎng)聚焦 HarmonyOS 應(yīng)用開(kāi)發(fā)實(shí)踐的開(kāi)發(fā)者系列沙龍?jiān)谏虾Ee行。本次活動(dòng)沙龍由華為與CSDN聯(lián)合舉辦,匯聚了華為開(kāi)發(fā)者專(zhuān)家徐建國(guó)、HarmonyOS高級(jí)開(kāi)發(fā)者認(rèn)證喬汝嘉,上海市高等教育學(xué)會(huì)數(shù)字經(jīng)濟(jì)發(fā)展與研究專(zhuān)業(yè)委員會(huì)副主任費(fèi)志明先生等技術(shù)專(zhuān)家?;顒?dòng)內(nèi)容涵蓋 HarmonyOS 的架構(gòu)設(shè)計(jì)、開(kāi)發(fā)工具、元服務(wù)、生態(tài)建設(shè)等多個(gè)方面,內(nèi)容緊貼開(kāi)發(fā)實(shí)戰(zhàn),為開(kāi)發(fā)者們提供了寶貴的學(xué)習(xí)機(jī)會(huì)和交流平臺(tái)。

1.jpg

華為HDE與堅(jiān)果派的聯(lián)合創(chuàng)始人徐建國(guó):ArkWeb實(shí)踐與三方庫(kù)適配

開(kāi)場(chǎng),華為開(kāi)發(fā)者專(zhuān)家/堅(jiān)果派聯(lián)合創(chuàng)始人徐建國(guó)帶來(lái)了《ArkWeb實(shí)踐與三方庫(kù)適配》的主題演講,深入探討了ArkWeb在實(shí)際應(yīng)用中的實(shí)踐經(jīng)驗(yàn),以及如何有效地實(shí)現(xiàn)與第三方庫(kù)的適配。

2.jpg

華為開(kāi)發(fā)者專(zhuān)家/堅(jiān)果派聯(lián)合創(chuàng)始人徐建國(guó)

徐建國(guó)首先詳細(xì)介紹了ArkWeb的核心架構(gòu)和技術(shù)特點(diǎn)。作為用于提升Web應(yīng)用性能的框架,ArkWeb通過(guò)引入創(chuàng)新的異步處理機(jī)制和輕量級(jí)設(shè)計(jì),解決傳統(tǒng)Web框架在高并發(fā)場(chǎng)景下的瓶頸問(wèn)題。具體來(lái)說(shuō),ArkWeb采用了一種異步非阻塞的IO模型,使其能夠高效處理大量并發(fā)請(qǐng)求,顯著縮短了頁(yè)面加載時(shí)間,提升了用戶(hù)體驗(yàn)。此外,ArkWeb的模塊化設(shè)計(jì)使得開(kāi)發(fā)者可以根據(jù)實(shí)際需求,靈活選用不同的組件,從而最大限度地減少不必要的資源消耗。

在講解ArkWeb的技術(shù)架構(gòu)后,他進(jìn)一步探討了在實(shí)際應(yīng)用中面臨的挑戰(zhàn),尤其是在與第三方庫(kù)的適配方面。由于現(xiàn)代Web開(kāi)發(fā)中,前端框架如React、Vue、Angular等第三方庫(kù)已廣泛應(yīng)用,而這些庫(kù)往往依賴(lài)于不同的技術(shù)棧和處理方式,這給ArkWeb的集成帶來(lái)了不小的挑戰(zhàn)。為此,團(tuán)隊(duì)采取了一系列優(yōu)化策略。例如,在與React和Vue的集成中,ArkWeb團(tuán)隊(duì)開(kāi)發(fā)了一套動(dòng)態(tài)加載與預(yù)編譯技術(shù),使得這些前端框架能夠無(wú)縫運(yùn)行于ArkWeb之上,既確保了系統(tǒng)的兼容性,又提升了整體運(yùn)行效率。此外,徐建國(guó)還分享了一些在實(shí)際項(xiàng)目中積累的經(jīng)驗(yàn),例如處理不同庫(kù)之間的依賴(lài)沖突,如何優(yōu)化數(shù)據(jù)流以減少冗余處理等。

演講的最后,徐建國(guó)展望了ArkWeb未來(lái)的發(fā)展方向。他表示,隨著Web應(yīng)用場(chǎng)景的不斷拓展,ArkWeb將在性能優(yōu)化、跨平臺(tái)支持以及與更多第三方庫(kù)的兼容性方面持續(xù)發(fā)力。特別是在5G、物聯(lián)網(wǎng)等新興技術(shù)驅(qū)動(dòng)下,ArkWeb將進(jìn)一步提升其在低延遲、高并發(fā)環(huán)境中的表現(xiàn),滿(mǎn)足更加多樣化的開(kāi)發(fā)需求。

HarmonyOS高級(jí)開(kāi)發(fā)者認(rèn)證/技術(shù)總監(jiān)喬汝嘉:HarmonyOS應(yīng)用測(cè)試實(shí)踐

隨后,HarmonyOS高級(jí)開(kāi)發(fā)者認(rèn)證/技術(shù)總監(jiān)喬汝嘉帶來(lái)了《HarmonyOS應(yīng)用測(cè)試實(shí)踐》的主題演講,主要分享了 HarmonyOS 應(yīng)用測(cè)試的實(shí)戰(zhàn)經(jīng)驗(yàn),并深入探討了代碼測(cè)試和 UI 測(cè)試的技巧。

3.jpg

HarmonyOS高級(jí)開(kāi)發(fā)者認(rèn)證/技術(shù)總監(jiān) 喬汝嘉

喬汝嘉首先介紹了 HarmonyOS 代碼測(cè)試的兩種方式:Instrument Test 和 Local Test。Instrument Test 依賴(lài)手機(jī)或模擬器運(yùn)行環(huán)境,適合運(yùn)行 UI 自動(dòng)化測(cè)試;Local Test 則不依賴(lài)手機(jī)或模擬器,適合運(yùn)行單元測(cè)試。通過(guò) DevEco Studio,開(kāi)發(fā)者可以方便創(chuàng)建測(cè)試類(lèi),編寫(xiě)測(cè)試用例,進(jìn)行代碼覆蓋率統(tǒng)計(jì),從而有效地發(fā)現(xiàn)代碼中的問(wèn)題。

演講重點(diǎn)探討了 UI 測(cè)試的實(shí)踐技巧。例如通過(guò)獲取 AbilityDelegator 和 bundleName,創(chuàng)建 want 并啟動(dòng) want,從而找到最上層的 Ability;通過(guò)創(chuàng)建 Driver,用 Driver 查找元素、模擬點(diǎn)擊、斷言元素存在等操作,對(duì)應(yīng)用界面進(jìn)行自動(dòng)化測(cè)試。此外,使用命令行工具進(jìn)行 UI 測(cè)試,以錄制用戶(hù)操作和注入 UI 模擬操作等方式,也可以更靈活地進(jìn)行 UI 測(cè)試。

喬汝嘉在演講中還介紹了覆蓋率測(cè)試和測(cè)試類(lèi)型篩選等高級(jí)測(cè)試技巧。通過(guò)覆蓋率測(cè)試,可以了解代碼的實(shí)際執(zhí)行情況,從而發(fā)現(xiàn)潛在的代碼缺陷;通過(guò)測(cè)試類(lèi)型篩選,可以有針對(duì)性地執(zhí)行特定類(lèi)型的測(cè)試用例,提高測(cè)試效率。最后,喬汝嘉總結(jié)了 HarmonyOS 應(yīng)用測(cè)試的關(guān)鍵要點(diǎn),并鼓勵(lì)開(kāi)發(fā)者積極探索和實(shí)踐,不斷提升應(yīng)用測(cè)試水平。

上海市高等教育學(xué)會(huì)數(shù)字經(jīng)濟(jì)發(fā)展與研究專(zhuān)業(yè)委員會(huì)副主任費(fèi)志明:元服務(wù)-縮短用戶(hù)與場(chǎng)景之間的距離

最后一位壓軸嘉賓是上海市高等教育學(xué)會(huì)數(shù)字經(jīng)濟(jì)發(fā)展與研究專(zhuān)業(yè)委員會(huì)副主任費(fèi)志明,他帶來(lái)《元服務(wù)-縮短用戶(hù)與場(chǎng)景之間的距離》的主題演講,以開(kāi)發(fā)者實(shí)際開(kāi)發(fā)場(chǎng)景舉例,深入淺出地介紹了 HarmonyOS 中元服務(wù)的概念、特點(diǎn)和價(jià)值,并結(jié)合金融領(lǐng)域應(yīng)用場(chǎng)景,為開(kāi)發(fā)者展示了元服務(wù)帶來(lái)的獨(dú)特優(yōu)勢(shì)。

4.jpg

上海市高等教育學(xué)會(huì)數(shù)字經(jīng)濟(jì)發(fā)展與研究專(zhuān)業(yè)委員會(huì)副主任費(fèi)志明

費(fèi)志明首先闡述了元服務(wù)的定義和特點(diǎn)。 元服務(wù)并非取代原生應(yīng)用,而是與其并存,共同構(gòu)成 HarmonyOS 生態(tài)。元服務(wù)具有輕量化、跨端、服務(wù)直達(dá)等特點(diǎn),能夠?yàn)橛脩?hù)提供便捷、高效的服務(wù)體驗(yàn)。

而對(duì)于開(kāi)發(fā)者而言,元服務(wù)提供了套件化能力、靈活性和解耦設(shè)計(jì),降低了開(kāi)發(fā)成本,并增強(qiáng)了交互性。套件化能力使得開(kāi)發(fā)者可以輕松獲取各類(lèi)功能和智能化能力,例如支付、語(yǔ)音識(shí)別等,無(wú)需從頭開(kāi)發(fā),節(jié)省時(shí)間和精力。靈活性和解耦設(shè)計(jì)則使得開(kāi)發(fā)者可以根據(jù)實(shí)際需求,靈活選用不同的組件,并進(jìn)行模塊化開(kāi)發(fā),從而最大限度地減少不必要的資源消耗,提高開(kāi)發(fā)效率。此外,元服務(wù)還支持更強(qiáng)的交互性,例如手勢(shì)操作、語(yǔ)音交互等,為用戶(hù)提供更加豐富的交互體驗(yàn)。而HarmonyOS 應(yīng)用程序包支持多模塊開(kāi)發(fā),生成的應(yīng)用程序包 (.app) 可以包含多個(gè) HAP 或 HSP。元服務(wù)為了實(shí)現(xiàn)快速啟動(dòng)效果,對(duì) HAP 和 HSP 文件大小做了限制,同時(shí)優(yōu)化了元服務(wù)啟動(dòng)機(jī)制。這種多模塊開(kāi)發(fā)方式稱(chēng)為“分包”,為開(kāi)發(fā)者提供了更大的靈活性和效率。

最后費(fèi)志明展望了元服務(wù)的未來(lái)發(fā)展,他表示,隨著HarmonyOS生態(tài)的不斷完善,元服務(wù)將在更多場(chǎng)景中發(fā)揮作用,為用戶(hù)帶來(lái)更加便捷、智能的服務(wù)體驗(yàn)。未來(lái),元服務(wù)將重點(diǎn)發(fā)展以下幾個(gè)方面:

· 性能優(yōu)化: 持續(xù)優(yōu)化元服務(wù)的性能,提升用戶(hù)體驗(yàn)。

· 跨平臺(tái)支持: 支持更多平臺(tái)的適配,擴(kuò)大元服務(wù)的應(yīng)用范圍。

· 與更多第三方庫(kù)的兼容性: 與更多第三方庫(kù)進(jìn)行適配,豐富元服務(wù)的功能。

· 人工智能應(yīng)用:將人工智能技術(shù)應(yīng)用于元服務(wù),實(shí)現(xiàn)更智能的服務(wù)體驗(yàn)。

現(xiàn)場(chǎng)提問(wèn)Q&A

三位嘉賓的精彩演講結(jié)束后,本次沙龍還特別設(shè)置了《專(zhuān)家面對(duì)面》環(huán)節(jié)。在這一環(huán)節(jié)中,現(xiàn)場(chǎng)開(kāi)發(fā)者們積極提問(wèn),圍繞 HarmonyOS 的開(kāi)發(fā)實(shí)踐、技術(shù)細(xì)節(jié)、生態(tài)建設(shè)等方面提出了許多問(wèn)題,專(zhuān)家們則耐心解答,并結(jié)合自身經(jīng)驗(yàn)和案例,為開(kāi)發(fā)者們提供了寶貴的建議和指導(dǎo)。

5.jpg

Q:元服務(wù)在多端的兼容性問(wèn)題?多端如何進(jìn)行數(shù)據(jù)功能同步?

A:其實(shí)現(xiàn)在的話(huà)元服務(wù)和App這兩個(gè)體系應(yīng)用目前來(lái)說(shuō)還不是直接互通的,想要實(shí)現(xiàn)互通建議走云端的方式。鴻蒙原生提供了比較多的是多端一次開(kāi)發(fā)、多端部署的能力,但是Taro支持到什么程度,還是也看它的一個(gè)文化的進(jìn)展。

Q: HarmonyOS在未來(lái)如何利用 AI 大模型來(lái)增強(qiáng)用戶(hù)體驗(yàn)?例如,通過(guò)智能助手、自然語(yǔ)言、圖像識(shí)別等功能,如何在有限的設(shè)備硬件資源上高效地運(yùn)行這些模型?此外,與安卓和iOS相比,AI加速 API 的開(kāi)放程度可能較低,這給開(kāi)發(fā)者帶來(lái)了限制,華為將如何從一定程度上繞過(guò)這些現(xiàn)實(shí)限制?

A:關(guān)于 AI 大模型的應(yīng)用可能有以下幾個(gè)方向:

· 智能助手小藝: HarmonyOS 中的智能助手小藝已經(jīng)開(kāi)始利用 AI 技術(shù)簡(jiǎn)化用戶(hù)操作。例如,用戶(hù)可以通過(guò)語(yǔ)音指令直接進(jìn)行酒店預(yù)訂,而無(wú)需打開(kāi)應(yīng)用進(jìn)行繁瑣的步驟。未來(lái),隨著 HarmonyOS 的發(fā)展,小藝將能夠?qū)崿F(xiàn)更多復(fù)雜的交互,進(jìn)一步提升用戶(hù)體驗(yàn)。

· 鴻蒙原生開(kāi)發(fā): 當(dāng)前 HarmonyOS 原生開(kāi)發(fā)平臺(tái)在 AI 能力方面仍處于起步階段,與安卓和 iOS 相比,仍存在一些差距。然而,華為已經(jīng)意識(shí)到這一點(diǎn),并在今年進(jìn)行了跨越式的投資,致力于構(gòu)建強(qiáng)大的 AI 大模型能力。預(yù)計(jì)在 9 月底發(fā)布的正式版本中,用戶(hù)將能夠體驗(yàn)到一系列基于 AI 大模型的應(yīng)用,敬請(qǐng)期待。

· 大數(shù)據(jù)應(yīng)用: HarmonyOS 將利用 AI 大模型在數(shù)據(jù)分析方面進(jìn)行探索,例如通過(guò)用戶(hù)行為分析,實(shí)現(xiàn)精準(zhǔn)推薦、個(gè)性化服務(wù)等,進(jìn)一步提升用戶(hù)體驗(yàn)。

關(guān)于 AI 加速 API 的開(kāi)放,目前 HarmonyOS 的 AI 加速 API 開(kāi)放程度可能不如安卓和 iOS,這給開(kāi)發(fā)者帶來(lái)了一定的限制。在 621 事件中,HarmonyOS 已經(jīng)展示了一些基于 AI 大模型的初步應(yīng)用,例如智能推薦、個(gè)性化服務(wù)等。這些案例表明,HarmonyOS 在 AI 應(yīng)用方面具有巨大的潛力。 華為正在積極提升 AI 加速 API 的開(kāi)放程度,以更好地滿(mǎn)足開(kāi)發(fā)者的需求。開(kāi)發(fā)者可以關(guān)注 HarmonyOS 的最新動(dòng)態(tài),以獲取最新的 API 信息和技術(shù)支持。

Q:很多應(yīng)用場(chǎng)景在一般 App 上可能用不到,未來(lái) HarmonyOS 在多設(shè)備開(kāi)發(fā)方面的方向,以及相關(guān)的技術(shù)性問(wèn)題。例如,現(xiàn)在手機(jī)折疊屏和平板的適配相對(duì)繁瑣,是否可以推薦一種更簡(jiǎn)單快捷的方式,因?yàn)楝F(xiàn)在的方式可能需要編寫(xiě)大量代碼。

A:關(guān)于多設(shè)備開(kāi)發(fā)還可以使用路由跳轉(zhuǎn): 目前,HarmonyOS 官方已經(jīng)開(kāi)放了新的路由跳轉(zhuǎn)方式,取代了之前常用的 root.replace 方式。新的方式更易于實(shí)現(xiàn)多設(shè)備適配,建議開(kāi)發(fā)者參考官方文檔進(jìn)行學(xué)習(xí)和使用。

多設(shè)備適配能力方面, HarmonyOS 提供了拉伸、延伸、均分等多種多設(shè)備適配能力,這些能力可以方便開(kāi)發(fā)者實(shí)現(xiàn)應(yīng)用的跨設(shè)備流轉(zhuǎn)和界面適配。開(kāi)發(fā)者可以參考 HarmonyOS 官網(wǎng)提供的多設(shè)備適配案例,學(xué)習(xí)如何高效地進(jìn)行適配。

Q:費(fèi)老師之前提到,我們可以先開(kāi)發(fā)一個(gè)元服務(wù),再根據(jù)場(chǎng)景需要開(kāi)發(fā)一個(gè)原子化服務(wù)。但這里面涉及到代碼復(fù)用的問(wèn)題,如何才能盡可能復(fù)用代碼?例如,元服務(wù)和原生 APP 里面的一些功能代碼是完全一樣的,但如想復(fù)用這個(gè)代碼。另外,如果兩端都有了之后,要進(jìn)行快速迭代,兩邊都要發(fā)布,如何能做到這一點(diǎn)?有什么好的實(shí)踐方式?

A:首先回答API 兼容性問(wèn)題。在 HarmonyOS SDK 文檔中,開(kāi)發(fā)者可以找到標(biāo)明“元服務(wù)也可用”的 API,這些 API 在元服務(wù)和原生 APP 中都可以使用,方便開(kāi)發(fā)者進(jìn)行代碼復(fù)用。以個(gè)人開(kāi)發(fā)的“一月付”應(yīng)用為例,我最初使用 API 9 開(kāi)發(fā)了元服務(wù),后來(lái)在 API 12 中將其代碼 100% 復(fù)用,并將其改造成了原子化服務(wù)形式。

另外可以嘗試模塊化設(shè)計(jì),對(duì)于像美團(tuán)這樣功能模塊較多的應(yīng)用,可以將不同的模塊拆分成不同的元服務(wù)進(jìn)行開(kāi)發(fā),例如將打車(chē)功能拆分為一個(gè)元服務(wù),將購(gòu)物功能拆分為另一個(gè)元服務(wù)。這樣既可以實(shí)現(xiàn)代碼復(fù)用,又可以靈活地進(jìn)行功能組合,最終打包成原子化服務(wù)或原生 App。

通過(guò)本次活動(dòng),技術(shù)專(zhuān)家與開(kāi)發(fā)者分享討論了 HarmonyOS 應(yīng)用開(kāi)發(fā)中多個(gè)技術(shù)方向的實(shí)戰(zhàn)經(jīng)驗(yàn)和開(kāi)發(fā)問(wèn)題。沙龍不僅為開(kāi)發(fā)者們搭建了一個(gè)學(xué)習(xí)和交流的平臺(tái),還為他們提供了一個(gè)與業(yè)界專(zhuān)家面對(duì)面交流、答疑解惑的機(jī)會(huì),希望幫助開(kāi)發(fā)者高效完成開(kāi)發(fā)。我們期待,在 HarmonyOS 生態(tài)持續(xù)發(fā)展的背景下,開(kāi)發(fā)者們能夠抓住機(jī)遇,勇于創(chuàng)新,為用戶(hù)帶來(lái)更多優(yōu)質(zhì)的應(yīng)用和服務(wù)。相信隨著 HarmonyOS 應(yīng)用開(kāi)發(fā)的不斷深入,開(kāi)發(fā)者們將實(shí)現(xiàn)更多的突破和成就。

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2024-08-16
HarmonyOS應(yīng)用開(kāi)發(fā)實(shí)踐沙龍深度回顧:從開(kāi)發(fā)工具到元服務(wù)
2024年8月11日,一場(chǎng)聚焦 HarmonyOS 應(yīng)用開(kāi)發(fā)實(shí)踐的開(kāi)發(fā)者系列沙龍?jiān)谏虾Ee行。

長(zhǎng)按掃碼 閱讀全文