0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

剖析JS語(yǔ)言在HarmonyOS應(yīng)用開(kāi)發(fā)框架中的作用

HarmonyOS開(kāi)發(fā)者 ? 來(lái)源:HarmonyOS開(kāi)發(fā)者 ? 作者:zhefeng ? 2021-09-10 09:13 ? 次閱讀

在萬(wàn)物互聯(lián)(Internet of Things,簡(jiǎn)稱IoT)時(shí)代,JS(JavaScript)語(yǔ)言越來(lái)越重要了,并且受到了很多開(kāi)發(fā)者小伙伴的關(guān)注。HarmonyOS也選擇JS作為其應(yīng)用開(kāi)發(fā)的一種語(yǔ)言,肯定有不少好奇的小伙伴想知道:JS語(yǔ)言有什么優(yōu)勢(shì)呢?JS被應(yīng)用在了HarmonyOS的哪些方面呢?下面就為各位好奇的小伙伴們一一揭曉。

一、IoT時(shí)代的應(yīng)用開(kāi)發(fā)挑戰(zhàn)

隨著技術(shù)的進(jìn)步發(fā)展,各種消費(fèi)電子產(chǎn)品開(kāi)始遍布人們生活的方方面面,為人們的生活帶來(lái)前所未有的便利快捷。同時(shí),一個(gè)萬(wàn)物互聯(lián)的時(shí)代也若隱若現(xiàn)。在IoT時(shí)代,消費(fèi)電子產(chǎn)品將通過(guò)有線/無(wú)線網(wǎng)絡(luò)互聯(lián),以軟硬件資源共享和協(xié)同的方式,為人們的生活提供豐富多彩的服務(wù)。應(yīng)用程序作為服務(wù)的載體,軟件開(kāi)發(fā)者開(kāi)發(fā)適合IoT時(shí)代的應(yīng)用程序需要面對(duì)以下嚴(yán)峻挑戰(zhàn):

挑戰(zhàn)1:如何實(shí)現(xiàn)一次開(kāi)發(fā),多端部署?

IoT時(shí)代的終端電子設(shè)備差異較大(從KB級(jí)內(nèi)存的耳機(jī)到GB級(jí)內(nèi)存的手機(jī))、形態(tài)各異(有屏幕和無(wú)屏幕)、尺寸各異(小到耳機(jī)大到汽車)、交互方式各異(觸屏控制和聲音控制等),對(duì)每種設(shè)備都開(kāi)發(fā)一個(gè)應(yīng)用是不可接受的,所以如何實(shí)現(xiàn)一次開(kāi)發(fā),多端部署是需要面對(duì)的第一個(gè)挑戰(zhàn)。

挑戰(zhàn)2:如何利用業(yè)界已有的生態(tài)資源,避免大規(guī)模重復(fù)造輪子?

因?yàn)檐浖哪K化的特點(diǎn),應(yīng)用程序開(kāi)發(fā)可以通過(guò)模塊重用來(lái)大大降低開(kāi)發(fā)的復(fù)雜性和縮短開(kāi)發(fā)周期。在IoT時(shí)代,這樣的需求更為強(qiáng)烈,因?yàn)殚_(kāi)發(fā)者要面對(duì)更多終端設(shè)備,就更需要利用好業(yè)界已有的開(kāi)發(fā)生態(tài)資源,避免大規(guī)模重復(fù)造輪子。

挑戰(zhàn)3:如何提高應(yīng)用開(kāi)發(fā)效率和支持快速升級(jí)?

IoT時(shí)代多種終端運(yùn)行的需求,會(huì)使得軟件開(kāi)發(fā)更為復(fù)雜,也帶來(lái)了更大的開(kāi)發(fā)和維護(hù)成本。特別是IoT時(shí)代要求更快速的軟件迭代和升級(jí),大的軟件安裝包會(huì)增加應(yīng)用快速迭代升級(jí)的困難。如何減少軟件復(fù)雜性(比如代碼規(guī)模)和提升開(kāi)發(fā)升級(jí)效率是非常有挑戰(zhàn)的問(wèn)題。

上述IoT時(shí)代的挑戰(zhàn)需要從操作系統(tǒng)編程語(yǔ)言一整套的解決方案,比如需要統(tǒng)一的操作系統(tǒng)對(duì)終端設(shè)備進(jìn)行管理和協(xié)同,提升全場(chǎng)景用戶體驗(yàn)等。本文主要從編程語(yǔ)言的角度來(lái)討論如何應(yīng)對(duì)這些挑戰(zhàn)。

二、JS語(yǔ)言的優(yōu)勢(shì)

針對(duì)上述IoT時(shí)代的應(yīng)用開(kāi)發(fā)挑戰(zhàn),我們考察了目前業(yè)界常見(jiàn)的移動(dòng)端編程語(yǔ)言(比如Java、JS、Swift、Dart和C++)后發(fā)現(xiàn),JS在以下方面可以較好地應(yīng)對(duì)這些挑戰(zhàn):

1. 多端分發(fā)和運(yùn)行

JS執(zhí)行引擎有許多業(yè)界的高性能實(shí)現(xiàn)和應(yīng)用框架解決方案,比如:

應(yīng)用在各種物聯(lián)網(wǎng)設(shè)備上支持KB級(jí)內(nèi)存的JerryScript

應(yīng)用在多種移動(dòng)操作系統(tǒng)的UI框架上的高性能JS引擎,比如ReactNative中的hermes引擎

廣泛使用在瀏覽器(Chrome和Safari)的高性能引擎V8和JSC

應(yīng)用在服務(wù)端(或者云端)的優(yōu)秀編程框架Node.js

應(yīng)用在桌面端的Progress-Web Application和Electron-based Application等優(yōu)秀解決方案

可見(jiàn)JS語(yǔ)言很適合開(kāi)發(fā)各種形態(tài)的終端設(shè)備上的應(yīng)用,而且具有很好的跨平臺(tái)、跨設(shè)備、全棧的特點(diǎn)。

2. 生態(tài)和開(kāi)放性

JS有非常強(qiáng)大的生態(tài)社區(qū),并且在業(yè)界享有非常高的聲譽(yù)。

在TIOBE的排名報(bào)告中,JS一直連續(xù)幾年被評(píng)為排名前五的編程語(yǔ)言。

在著名網(wǎng)站StackOverflow的2020年調(diào)查中,JS是開(kāi)發(fā)人員中最受歡迎的語(yǔ)言。

在GitHub的2020年度報(bào)告中,JS是使用GitHub的5600萬(wàn)開(kāi)發(fā)者中最流行的編程語(yǔ)言。

有大量使用JS的業(yè)界知名公司,包括Google、Microsoft、Alibaba、Facebook等。

而且JS社區(qū)有大量的成熟高性能第三方代碼和模塊,可以非常方便地用于搭建JS應(yīng)用和服務(wù)。這樣可以極大降低JS應(yīng)用開(kāi)發(fā)的復(fù)雜性和技術(shù)門檻。特別是,目前蓬勃發(fā)展的小程序生態(tài)(比如微信小程序、淘寶小程序、支付寶小程序、字節(jié)跳動(dòng)小程序和快應(yīng)用)也選擇了JS作為應(yīng)用開(kāi)發(fā)語(yǔ)言。

此外,JS的標(biāo)準(zhǔn)Ecmascript由TC39標(biāo)準(zhǔn)委員會(huì)制定,不屬于任何一家公司,是屬于業(yè)界開(kāi)放標(biāo)準(zhǔn)。在業(yè)界有各種各樣的高性能JS語(yǔ)言開(kāi)源實(shí)現(xiàn),同時(shí)整個(gè)JS社區(qū)也積極地吸納最新的特性提案,比如各種object-oriented programming(面向?qū)ο蟮某绦蛟O(shè)計(jì),簡(jiǎn)稱OOP)語(yǔ)言特性,來(lái)快速迭代JS的語(yǔ)言規(guī)范。

3. 開(kāi)發(fā)效率和性能

相比靜態(tài)類型開(kāi)發(fā)語(yǔ)言,JS因?yàn)閯?dòng)態(tài)類型和類腳本語(yǔ)言的特點(diǎn),開(kāi)發(fā)類似功能的應(yīng)用時(shí),JS代碼一般行數(shù)更少。在經(jīng)過(guò)ES2015版本迭代之后,JS原生支持了大型應(yīng)用開(kāi)發(fā)需要的OOP編程范式和完善的異步編程模型,使得 JS開(kāi)發(fā)大型復(fù)雜OOP應(yīng)用更為高效。

另外,隨著JS各種方言(比如TypeScript)的出現(xiàn),通過(guò)添加靜態(tài)類型標(biāo)注,IDE自動(dòng)導(dǎo)航和代碼查找補(bǔ)齊功能得到極大提升,從而有效地提升了JS開(kāi)發(fā)大型工程的便利性和可維護(hù)性。

在性能方面,隨著Just-in-time-compiler(即時(shí)編譯器,簡(jiǎn)稱JITC)的引入,JS的性能也得到了質(zhì)的提升,特別是當(dāng)JS程序的動(dòng)態(tài)類型在執(zhí)行過(guò)程中趨于穩(wěn)定時(shí),JITC夠生成非常高效的機(jī)器碼,從而提升大型JS應(yīng)用的性能。不過(guò)對(duì)于移動(dòng)應(yīng)用來(lái)說(shuō),JITC也會(huì)帶來(lái)一定的響應(yīng)性能的開(kāi)銷,所以未來(lái)JS也需要類似Ahead-of-time-compilation(簡(jiǎn)稱AOTC)這樣的靜態(tài)編譯解決方案。

三、JS在HarmonyOS中的典型應(yīng)用

HarmonyOS分布式操作系統(tǒng)定位為萬(wàn)物互聯(lián)時(shí)代的操作系統(tǒng),全面覆蓋平板、電視、手表、手機(jī)、穿戴設(shè)備、智能汽車和智能家居等終端,在操作系統(tǒng)層面將這些多終端硬件融為一體,形成超級(jí)終端。如圖1所示,各種生活中用到的電子設(shè)備,音響、電視、筆記本電腦、冰箱、打字機(jī)等,通過(guò)HarmonyOS分布式操作系統(tǒng)相互連接協(xié)同,為家庭生活提供全場(chǎng)景的服務(wù)體驗(yàn)。

因?yàn)镴S語(yǔ)言的以上優(yōu)勢(shì)和HarmonyOS的分布式特點(diǎn),HarmonyOS選擇采用JS作為其分布式應(yīng)用開(kāi)發(fā)的一種語(yǔ)言。下面讓我們從開(kāi)發(fā)語(yǔ)言的角度,看看JS在HarmonyOS分布式操作系統(tǒng)中的三個(gè)典型應(yīng)用。

1. 在輕量化UI框架中的應(yīng)用

在IoT時(shí)代,各種設(shè)備的能力差異非常大,從KB級(jí)到GB級(jí)的內(nèi)存設(shè)備等,所以HarmonyOS的UI框架需要能覆蓋各種終端設(shè)備。

為了實(shí)現(xiàn)這樣的設(shè)計(jì)目標(biāo),HarmonyOS的輕量級(jí)UI框架采用如圖2所示的設(shè)計(jì),使用JS作為其應(yīng)用開(kāi)發(fā)的一種語(yǔ)言,并提供主流的類Web開(kāi)發(fā)范式和數(shù)據(jù)模型(MVVM即Model-View-ViewModel),即用戶通過(guò)編寫JS、CSS、HTML標(biāo)簽和數(shù)據(jù)綁定的方式開(kāi)發(fā)UI代碼和業(yè)務(wù)邏輯。HarmonyOS的輕量級(jí)UI框架采用輕量級(jí)JS引擎,來(lái)運(yùn)行JS框架層業(yè)務(wù)邏輯,同時(shí)把渲染框架的核心采用C++編寫,搭配輕量級(jí)圖形引擎,來(lái)達(dá)到內(nèi)存非常輕量的設(shè)計(jì)目標(biāo)。

另外,因?yàn)镴S引擎可以有效適配各種內(nèi)存大小的設(shè)備,同時(shí)結(jié)合覆蓋多終端的JSAPI設(shè)計(jì),于是可以實(shí)現(xiàn)通過(guò)一套UI代碼來(lái)多端部署和分發(fā)。

7baed284-117f-11ec-8fb8-12bb97331649.png

圖2 輕量化UI框架

2. 在超級(jí)終端中的應(yīng)用

面對(duì)多樣化終端硬件,HarmonyOS提出了面向萬(wàn)物互聯(lián)時(shí)代的創(chuàng)新嘗試——“超級(jí)終端”。超級(jí)終端通過(guò)分布式軟總線技術(shù),來(lái)連接不同設(shè)備來(lái)構(gòu)成超級(jí)終端的形態(tài)。這些被連接的各種終端設(shè)備被調(diào)度了不同的分布式任務(wù),這些任務(wù)相互協(xié)同給用戶提供全場(chǎng)景服務(wù)的體驗(yàn)。

7bd07632-117f-11ec-8fb8-12bb97331649.png

圖3 多個(gè)終端形成超級(jí)“虛擬終端”

如圖3所示,超級(jí)終端中的各種硬件設(shè)備通過(guò)分布式軟總線技術(shù)進(jìn)行高效互聯(lián)和協(xié)同工作,于是可以把這些設(shè)備看成一個(gè)一個(gè)獨(dú)立的狀態(tài)機(jī),他們通過(guò)交換狀態(tài)和數(shù)據(jù)進(jìn)行任務(wù)協(xié)同來(lái)提供服務(wù)。這樣的分布式工作模式可以自然地應(yīng)用到JS的異步編程能力。

各個(gè)終端設(shè)備之間的狀態(tài)數(shù)據(jù)交換和協(xié)同可以天然地建模為JS的異步事件模型。利用JS語(yǔ)言本身內(nèi)置的異步事件處理能力(比如async和promise等),可以描述多狀態(tài)機(jī)之間的異步事件發(fā)送和響應(yīng)。同時(shí), JS直接在語(yǔ)言級(jí)別支持異步事件模型,不需要引入各種巨大的異步編程庫(kù),從而極大地降低了編寫JS異步邏輯代碼的復(fù)雜度,并簡(jiǎn)化了超級(jí)終端應(yīng)用的整體異步架構(gòu)邏輯。

3. 在原子化服務(wù)中的應(yīng)用

為了提供IoT時(shí)代的應(yīng)用服務(wù),HarmonyOS提出了一種輕量化應(yīng)用程序——原子化服務(wù)。原子化服務(wù)具有可分可合可流轉(zhuǎn)的特點(diǎn),它的基本構(gòu)成單元是Ability。一個(gè)原子化服務(wù)可以包含一個(gè)或多個(gè)Ability。根據(jù)是否有用戶交互界面,Ability分為FA(Feature Ability)和PA(Partical Ability)兩種,如下圖所示:

7bfa6906-117f-11ec-8fb8-12bb97331649.png

圖4 原子化服務(wù)

通過(guò)Ability,可以更好地實(shí)現(xiàn)應(yīng)用服務(wù)的跨設(shè)備遷移和多設(shè)備協(xié)同。JS在如下幾個(gè)方面為實(shí)現(xiàn)Ability設(shè)計(jì)目標(biāo)提供了支持:

一個(gè)Ability對(duì)應(yīng)一個(gè)任務(wù)(線程)單元,JS語(yǔ)言的線程模型是數(shù)據(jù)隔離的Actor模型,適合于Ability的可分可合的設(shè)計(jì)特點(diǎn)。Actor模型保證了JS線程之間不能直接共享對(duì)象,從而避免了使用鎖等復(fù)雜同步原語(yǔ),提高了任務(wù)單元的并行度和降低了應(yīng)用開(kāi)發(fā)復(fù)雜度。同時(shí)JS并發(fā)模型也提供transfer對(duì)象的能力,支持實(shí)現(xiàn)并發(fā)ability之間的高效通信。

Ability是通過(guò)JS引擎來(lái)執(zhí)行,Ability需要自由高效地跨設(shè)備遷移和分發(fā)。當(dāng)一個(gè)ability從一個(gè)設(shè)備動(dòng)態(tài)地遷移到另外一個(gè)設(shè)備(比如從手機(jī)遷移到電視上)時(shí),因?yàn)镴S引擎實(shí)例是單線程安全的特點(diǎn),可以通過(guò)虛擬機(jī)快照之類的方式,把JS執(zhí)行線程的狀態(tài)快速遷移到另外一個(gè)設(shè)備上,從而提升遷移效率。

JS的動(dòng)態(tài)語(yǔ)言的特點(diǎn)有利于原子化服務(wù)升級(jí)和更新。因?yàn)檎Z(yǔ)言的動(dòng)態(tài)類型,分布式應(yīng)用很方便解耦成不同的模塊,于是可以提供高效的模塊動(dòng)態(tài)更新。同時(shí)因?yàn)镴S支持模塊的單獨(dú)編譯執(zhí)行,所以也不需要對(duì)整個(gè)應(yīng)用包進(jìn)行重新編譯打包,從而簡(jiǎn)化了應(yīng)用的升級(jí)流程。

四、HarmonyOS對(duì)JS技術(shù)的探索

盡管JS作為萬(wàn)物互聯(lián)時(shí)代的應(yīng)用開(kāi)發(fā)語(yǔ)言有許多的優(yōu)勢(shì),但是跟靜態(tài)類型編程語(yǔ)言(如C++和Rust)相比,還有進(jìn)一步提升的空間。比如業(yè)界著名的JS引擎V8,通過(guò)引入內(nèi)聯(lián)緩存(Inline Caching)技術(shù)和動(dòng)態(tài)編譯JITC技術(shù),極大地提升了JS的執(zhí)行性能,在一些典型的benchmark的跑分,甚至和靜態(tài)類型語(yǔ)言(比如Java)相差無(wú)幾。經(jīng)過(guò)深入分析,我們發(fā)現(xiàn)影響JS運(yùn)行性能有以下三點(diǎn):

即時(shí)編譯器JITC為了生成高性能的內(nèi)聯(lián)緩存和優(yōu)化機(jī)器碼,需要在程序執(zhí)行過(guò)程中先不斷進(jìn)行類型收集和動(dòng)態(tài)優(yōu)化編譯,這樣就必然地影響了JS代碼的執(zhí)行性能(特別是對(duì)于冷啟動(dòng)和即時(shí)響應(yīng)的場(chǎng)景)。

跨語(yǔ)言調(diào)用(比如JS調(diào)用C++或者Java開(kāi)發(fā)的各種第三方庫(kù))時(shí),因?yàn)閷?duì)象模型和編譯器不統(tǒng)一的原因,JS的對(duì)象傳遞到C++或者java的代碼中,需要進(jìn)行“開(kāi)箱裝箱”的耗時(shí)過(guò)程,這樣的頻繁跨語(yǔ)言操作影響了程序的運(yùn)行效率。

標(biāo)準(zhǔn)JS通過(guò)Worker來(lái)實(shí)現(xiàn)Actor并發(fā)編程模型,但是一個(gè)worker對(duì)應(yīng)一個(gè)JS引擎實(shí)例,導(dǎo)致比較大的內(nèi)存開(kāi)銷。同時(shí),因?yàn)橐跏蓟麄€(gè)JS引擎,影響了Worker的啟動(dòng)性能。

針對(duì)這三個(gè)問(wèn)題, HarmonyOS在應(yīng)用執(zhí)行運(yùn)行時(shí)(方舟運(yùn)行時(shí))中對(duì)如下方向進(jìn)行了技術(shù)研發(fā):

通過(guò)TypeScript(一種JS的超集)提供的靜態(tài)類型描述和靜態(tài)類型檢查來(lái)規(guī)范JS過(guò)于隨意的動(dòng)態(tài)寫法,同時(shí)靜態(tài)地(Ahead-of-time)生成內(nèi)聯(lián)緩存和優(yōu)化機(jī)器碼。這樣就可以減少運(yùn)行時(shí)的預(yù)熱、類型收集和動(dòng)態(tài)編譯的開(kāi)銷,提升JS應(yīng)用性能。

實(shí)現(xiàn)多語(yǔ)言運(yùn)行時(shí)來(lái)支持跨語(yǔ)言調(diào)用和對(duì)象互操作,通過(guò)運(yùn)行時(shí)溝通不同語(yǔ)言的對(duì)象模型,可以加速對(duì)象的跨語(yǔ)言訪問(wèn)。另外,通過(guò)統(tǒng)一的編譯中間表示(Intermediate Representation),可以對(duì)多語(yǔ)言混合開(kāi)發(fā)的JS應(yīng)用翻譯為統(tǒng)一的編譯中間表示和進(jìn)行統(tǒng)一的優(yōu)化編譯,生成高性能的機(jī)器碼,進(jìn)一步提升JS的跨語(yǔ)言調(diào)用和交互性能。

更輕量級(jí)的并發(fā)Actor實(shí)現(xiàn)。通過(guò)共享JS引擎實(shí)例的不可變數(shù)據(jù)結(jié)構(gòu),比如字節(jié)碼和字符串等,可以有效降低內(nèi)存開(kāi)銷。同時(shí)通過(guò)實(shí)現(xiàn)JS引擎快照(snapshot)的方式,可以有效提升Actor的啟動(dòng)性能。

五、未來(lái)展望

在萬(wàn)物互聯(lián)(IoT)時(shí)代,應(yīng)用的形態(tài)將發(fā)生新的變化,分布式應(yīng)用和原子化服務(wù)等新形態(tài)將可能成為主流。面對(duì)差異巨大、五花八門的終端硬件,如何降低開(kāi)發(fā)者開(kāi)發(fā)門檻、更好地利用業(yè)界已有代碼和資源、幫助開(kāi)發(fā)者快速開(kāi)發(fā)出面向消費(fèi)者的創(chuàng)新全場(chǎng)景應(yīng)用,需要編程語(yǔ)言和操作系統(tǒng)的持續(xù)不斷演進(jìn),而JS開(kāi)發(fā)語(yǔ)言將在這個(gè)過(guò)程中發(fā)揮越來(lái)越重要的作用。

HarmonyOS期待更多JS開(kāi)發(fā)者走進(jìn)我們、加入我們,共同迎接萬(wàn)物互聯(lián)的新時(shí)代!

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JS
    JS
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    18410
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2117

    瀏覽量

    74861
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    187

    文章

    4293

    瀏覽量

    200967
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2085

    瀏覽量

    32325

原文標(biāo)題:JS語(yǔ)言在HarmonyOS應(yīng)用開(kāi)發(fā)框架中的作用

文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS NEXT意圖框架習(xí)慣推薦一場(chǎng)景說(shuō)明

    推薦播放接續(xù),例如音樂(lè)、長(zhǎng)視頻以及課程的播放接續(xù),可以參考本文。首先需要在設(shè)置開(kāi)啟意圖框架調(diào)試,如下圖所示。確保意圖框架調(diào)試開(kāi)啟且界面成功展示設(shè)備支測(cè)試應(yīng)用。 本文主要引用整理于
    發(fā)表于 06-18 15:06

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開(kāi)發(fā)函數(shù)

    ) 最后說(shuō)句掏心窩的話:本地調(diào)試真的能省下80%的打包等待時(shí)間,早用早輕松!開(kāi)發(fā)過(guò)程中遇到任何問(wèn)題,歡迎評(píng)論區(qū)拍磚交流~ ? 祝各位開(kāi)發(fā)者調(diào)試順利,BUG退散!下次咱們?cè)倭牧脑坪瘮?shù)的高階玩法,記得關(guān)注哦~ ? (本文檔基于
    發(fā)表于 05-22 17:29

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開(kāi)發(fā)Node環(huán)境

    ? 你好呀,開(kāi)發(fā)者小伙伴們!今天我們來(lái)聊聊如何在HarmonyOS(ArkTS API 9及以上)玩轉(zhuǎn)云函數(shù),特別是結(jié)合Node.js和HTTP觸發(fā)器的
    發(fā)表于 05-22 17:21

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)調(diào)試概述

    一、概述 DevEco Studio提供了豐富的HarmonyOS應(yīng)用/元服務(wù)調(diào)試能力,支持JS、ArkTS、C/C單語(yǔ)言調(diào)試和ArkTS/JS+C/C跨
    發(fā)表于 02-26 11:03

    AKI跨語(yǔ)言調(diào)用庫(kù)神助攻C/C++代碼遷移至HarmonyOS NEXT

    開(kāi)發(fā)框架。它極大地簡(jiǎn)化了JS與C/C++之間的跨語(yǔ)言訪問(wèn),為開(kāi)發(fā)者提供了一種邊界性編程體驗(yàn)友好的解決方案。通過(guò)AKI,
    發(fā)表于 01-02 17:08

    HarmonyOS開(kāi)發(fā)指導(dǎo)類文檔更新速遞(上)

    伴隨著HarmonyOS 5.0.0 Release版本的發(fā)布,HarmonyOS官網(wǎng)文檔也帶來(lái)了不少上新內(nèi)容。本期HarmonyOS NEXT開(kāi)發(fā)者資料直通車將從文檔更新角度為
    的頭像 發(fā)表于 12-30 09:50 ?906次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開(kāi)發(fā)</b>指導(dǎo)類文檔更新速遞(上)

    SSM框架在Java開(kāi)發(fā)的應(yīng)用 如何使用SSM進(jìn)行web開(kāi)發(fā)

    。以下是對(duì)SSM框架在Java開(kāi)發(fā)的應(yīng)用,以及如何使用SSM進(jìn)行web開(kāi)發(fā)的介紹: SSM框架的組件及其
    的頭像 發(fā)表于 12-16 17:28 ?1498次閱讀

    語(yǔ)言模型開(kāi)發(fā)框架是什么

    語(yǔ)言模型開(kāi)發(fā)框架是指用于訓(xùn)練、推理和部署大型語(yǔ)言模型的軟件工具和庫(kù)。下面,AI部落小編為您介紹大語(yǔ)言模型
    的頭像 發(fā)表于 12-06 10:28 ?493次閱讀

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Intents Kit(意圖框架服務(wù))綜述

    一、綜述 Intents Kit(意圖框架服務(wù))是HarmonyOS級(jí)的意圖標(biāo)準(zhǔn)體系 ,意圖連接了應(yīng)用/元服務(wù)內(nèi)的業(yè)務(wù)功能。 意圖框架能幫開(kāi)發(fā)者將應(yīng)用/元服務(wù)內(nèi)的業(yè)務(wù)功能,智能分發(fā)到各
    發(fā)表于 11-28 10:43

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Intents Kit(意圖框架服務(wù))習(xí)慣推薦方案概述

    。 卡片展示效果 意圖框架提供各垂域習(xí)慣推薦小藝建議展示使用的標(biāo)準(zhǔn)模板卡片,開(kāi)發(fā)者無(wú)需開(kāi)發(fā)展示卡片。
    發(fā)表于 11-19 17:59

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Intents Kit(意圖框架服務(wù))事件推薦開(kāi)發(fā)者測(cè)試

    意圖框架開(kāi)發(fā)者提供真機(jī)測(cè)試能力,即開(kāi)發(fā)者可連接設(shè)備進(jìn)行調(diào)測(cè)。開(kāi)發(fā)者完成代碼開(kāi)發(fā)之后,功能正式上架應(yīng)用市場(chǎng)前,可以
    發(fā)表于 11-18 17:39

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Intents Kit(意圖框架服務(wù))本地搜索方案概述

    一、概述 本地搜索是HarmonyOS歸一化搜索特性,開(kāi)發(fā)者將應(yīng)用/元服務(wù)內(nèi)的功能和內(nèi)容通過(guò)意圖框架共享到HarmonyOS,即可實(shí)現(xiàn)“一
    發(fā)表于 11-06 10:59

    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    導(dǎo)讀HarmonyOS是全球第三大移動(dòng)操作系統(tǒng),有巨大的市場(chǎng)潛力,國(guó)產(chǎn)替代的背景下,機(jī)會(huì)多多,AWTK支持HarmonyOS,讓AWTK開(kāi)發(fā)者也能享受
    的頭像 發(fā)表于 11-06 08:03 ?767次閱讀
    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(<b class='flag-5'>HarmonyOS</b> Next)

    鴻蒙跨端實(shí)踐-JS虛擬機(jī)架構(gòu)實(shí)現(xiàn)

    Roma跨端方案JS虛擬機(jī)是框架的核心,負(fù)責(zé)執(zhí)行動(dòng)態(tài)化的JS代碼。Android平臺(tái)采用
    的頭像 發(fā)表于 09-30 14:42 ?2913次閱讀
    鴻蒙跨端實(shí)踐-<b class='flag-5'>JS</b>虛擬機(jī)架構(gòu)實(shí)現(xiàn)

    工程師必備!Node.js和常見(jiàn)管理工具介紹(附操作演示)

    現(xiàn)代軟件開(kāi)發(fā),JavaScript已成為一種廣泛使用的編程語(yǔ)言,web前端開(kāi)發(fā)、后端
    的頭像 發(fā)表于 08-30 12:34 ?527次閱讀
    工程師必備!Node.<b class='flag-5'>js</b>和常見(jiàn)管理工具介紹(附操作演示)

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品