亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HarmonyOS應(yīng)用開發(fā)的課程建設(shè)初探

        2022-03-11 12:39:22龍軍何暢趙東東
        電腦知識與技術(shù) 2022年1期
        關(guān)鍵詞:課程建設(shè)

        龍軍 何暢 趙東東

        摘要:該文從分析華為公司最新開始裝機商用的HarmonyOS 2系統(tǒng)的技術(shù)架構(gòu)入手,闡述HarmonyOS應(yīng)用程序的形態(tài)和Ability、Page、AbilitySlice、Intent等概念,比較Java UI框架和JS UI框架的特點及應(yīng)用方式,研究HarmonyOS的數(shù)據(jù)庫、映射、DDS等數(shù)據(jù)存儲和原子化服務(wù),最后針對HarmonyOS應(yīng)用開發(fā)所涉及的知識和技術(shù),探索設(shè)計基礎(chǔ)、應(yīng)用、拓展三層次課程體系,培養(yǎng)學(xué)生的實踐操作能力。

        關(guān)鍵詞:HarmonyOS;鴻蒙;分布式;課程建設(shè)

        中圖分類號:TP311? ? ? ?文獻標識碼:A

        2019年8月華為公司開發(fā)的具有自主產(chǎn)權(quán)的開源操作系統(tǒng)HarmonyOS(鴻蒙系統(tǒng))正式發(fā)布,2021年6月HarmonyOS 2及多款搭載HarmonyOS 2的新產(chǎn)品上線,用戶裝機量兩個月超5000萬。這是一款全新的基于微內(nèi)核的面向全場景的分布式操作系統(tǒng)[1],基于用一套系統(tǒng)適配手機、平板、智能穿戴、智慧屏、車機等多種終端形態(tài)的分布式理念,提供移動辦公、運動健康、社交通信、媒體娛樂等全場景業(yè)務(wù)能力,將各類硬件根據(jù)需要隨意組裝,手機可以調(diào)用電視、電腦的大屏幕,電腦也可以調(diào)用手機的攝像頭拍照、掃碼[2]。

        1 HarmonyOS的技術(shù)概述

        HarmonyOS支持Java、XML、C/C++、JavaScript、CSS和HarmonyOS Markup Language(HML)等語言進行應(yīng)用開發(fā),有內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層四層,系統(tǒng)功能按“系統(tǒng)、子系統(tǒng)、功能/模塊”逐級展開[3]。

        內(nèi)核層的內(nèi)核子系統(tǒng)是適配不同設(shè)備的OS內(nèi)核,驅(qū)動子系統(tǒng)提供統(tǒng)一外設(shè)訪問能力和驅(qū)動開發(fā)、管理框架,提供開放的硬件生態(tài)。

        系統(tǒng)服務(wù)層是HarmonyOS的核心能力集合,通過框架層為應(yīng)用程序提供服務(wù)。其中系統(tǒng)基本能力子系統(tǒng)集提供分布式應(yīng)用在多設(shè)備上運行、調(diào)度、遷移等操作的基礎(chǔ)能力;基礎(chǔ)軟件服務(wù)子系統(tǒng)集提供公共通用的軟件服務(wù);增強軟件服務(wù)子系統(tǒng)集提供針對不同設(shè)備、差異化的能力增強型軟件服務(wù);硬件服務(wù)子系統(tǒng)集提供硬件服務(wù)。

        框架層提供多語言的用戶程序框架和Ability框架,適用Java語言的Java UI框架和適用JS語言的JS UI框架,各種軟硬件服務(wù)對外開放的多語言框架API。

        應(yīng)用層包括系統(tǒng)應(yīng)用和第三方非系統(tǒng)應(yīng)用。應(yīng)用由一個或多個有UI界面的Feature Ability(FA)或無UI界面的Particle Ability(PA)組成。FA能與用戶交互,PA提供后臺運行任務(wù)的能力和統(tǒng)一的數(shù)據(jù)訪問抽象。FA在進行用戶交互時由對應(yīng)的PA提供所需的后臺數(shù)據(jù)支撐。

        2 HarmonyOS的應(yīng)用

        HarmonyOS應(yīng)用程序是在設(shè)備操作系統(tǒng)上運行、為用戶提供特定服務(wù)的程序,有安裝和免安裝兩種形態(tài)。應(yīng)用程序包以App Pack形式發(fā)布,由一個或多個HarmonyOS Ability Package(HAP)和描述每個HAP屬性的pack.info組成。HAP是Ability的部署包,由代碼、資源、第三方庫及應(yīng)用配置文件組成,有應(yīng)用主模塊entry和應(yīng)用動態(tài)特性模塊feature兩類。entry指一個App中對于同一設(shè)備類型有且只有一個entry類型的HAP,可獨立安裝運行,feature指一個App包含零個、一個或多個feature類型的HAP,只有包含Ability的HAP才能獨立運行。

        Ability是應(yīng)用所具備能力的抽象,一個應(yīng)用可包含一個或多個Ability。HarmonyOS支持應(yīng)用以Ability為單位進行部署。FA支持Page Ability,Page模板是FA唯一支持的模板,用于提供與用戶交互的能力。PA支持Service Ability和Data Ability,Service模板用于提供后臺運行任務(wù)的能力,Data模板用于對外部提供統(tǒng)一的數(shù)據(jù)訪問抽象。在配置文件config.json中注冊Ability時,按Ability元素的type屬性值(page、service或data)確定Ability模板類型。

        一個Page實例可包含一組相關(guān)頁面,每個頁面用一個AbilitySlice實例表示,即一個Page有多個AbilitySlice,但Page進入前臺時只展示一個AbilitySlice。用setMainRoute()方法指定默認展示的AbilitySlice,用addActionRoute()方法配置一條路由規(guī)則以改變展示的AbilitySlice,通過Intent的Action實現(xiàn)從其他Page實例導(dǎo)航到該AbilitySlice。同一Page內(nèi)用present()或presentForResult()方法實現(xiàn)導(dǎo)航,Page間用startAbility()或startAbilityForResult()方法實現(xiàn)導(dǎo)航。

        Intent是對象間傳遞信息的載體,由Operation和Parameters構(gòu)成。Operation包括動作Action、類別Entity、路徑Uri、處理Intent方式Flags、包描述BundleName、待啟動Ability名稱AbilityName、運行指定Ability設(shè)備ID的DeviceId。Parameters是支持自定義的數(shù)據(jù)結(jié)構(gòu),用來傳遞請求所需的額外信息。

        3 HarmonyOS的UI框架

        HarmonyOS提供了Java UI框架和JS UI框架兩種FA的UI開發(fā)框架。Java UI框架提供了細粒度的UI編程接口,包括一部分Component和ComponentContainer的具體子類,有DirectionalLayout、DependentLayout等常用布局和文本、按鈕、圖片、列表等常用組件,通過組件進行交互操作并獲得響應(yīng)。需要注意的是所有的UI操作必須在主線程進行設(shè)置。

        JS UI框架提供了相對高層的UI描述,是跨設(shè)備的高性能UI開發(fā)框架,用類HTML和CSS聲明式編程語言開發(fā)頁面布局和頁面樣式,支持聲明式編程和跨設(shè)備多態(tài)UI,頁面業(yè)務(wù)邏輯支持ECMAScript規(guī)范的JavaScript語言,聲明式編程避免編寫UI狀態(tài)切換的代碼,視圖配置信息更直觀、應(yīng)用開發(fā)更簡單。JS UI框架支持純JS、JS+Java混合語言開發(fā),JS FA是基于JS或JS+Java混合開發(fā)的FA。

        Java UI框架可以在XML中聲明UI布局或在代碼中創(chuàng)建布局的方式編寫,兩者創(chuàng)建的布局沒有本質(zhì)差別,用XML方式更簡便直觀。用XML方式編寫頁面時,XML文件放在main\resources\base\layout目錄中,使用時需要在main\java\包\slice目錄中相應(yīng)Java文件代碼的onStart()方法中用super.setUIContent(ResourceTable.Layout_布局文件名)加載XML布局,并通過findComponentById(ResourceTable.組件Id)方法創(chuàng)建布局文件中的組件對象。用代碼創(chuàng)建布局時,在Java文件的onStart()方法中用DependentLayout 布局對象名 = new DependentLayout(this);聲明并創(chuàng)建布局對象的實例,再依次設(shè)置布局的相關(guān)屬性,用代碼:組件類型 組件對象名 = new 組件類型(this);創(chuàng)建組件對象,并用組件對象名設(shè)置相關(guān)屬性及應(yīng)用。

        JS UI框架中頁面文件通常放在main\js\default\pages\index目錄中,由同名的hml、css、js三個文件構(gòu)成。hml文件用HML標記定義頁面布局、頁面中的組件和層級關(guān)系,指定組件的類并綁定事件,css文件定義頁面的樣式,js文件定義頁面中諸如數(shù)據(jù)綁定、事件處理等業(yè)務(wù)邏輯。通過AceAbility類中setInstanceName()接口設(shè)置該Ability的實例資源來加載JS FA,并通過AceAbility窗口顯示和管理全局應(yīng)用生命周期。

        JS UI框架提供了JS FA調(diào)用Java PA的機制,在HarmonyOS引擎內(nèi)提供一種通道來傳遞方法調(diào)用、數(shù)據(jù)返回和事件上報,根據(jù)需要自行實現(xiàn)FA和PA兩端的接口完成對應(yīng)的功能邏輯,包含遠端調(diào)用Ability和本地調(diào)用Internal Ability兩種方式。JS端與Java端通過接口擴展機制進行通信,通過bundleName和abilityName來進行關(guān)聯(lián)。FeatureAbility Plugin收到JS調(diào)用請求后,系統(tǒng)根據(jù)JS指定的abilityType選擇對應(yīng)的Ability或Internal Ability方式進行處理。在onRemoteRequest()中實現(xiàn)PA提供的業(yè)務(wù)邏輯,不同業(yè)務(wù)通過業(yè)務(wù)碼區(qū)分。

        4 HarmonyOS的數(shù)據(jù)存儲和原子化服務(wù)

        HarmonyOS支持單設(shè)備的各種結(jié)構(gòu)化數(shù)據(jù)的持久化和跨設(shè)備數(shù)據(jù)的同步、共享及搜索功能。本地應(yīng)用數(shù)據(jù)管理用SQLite作為持久化存儲引擎,基于SQLite組件對外提供一系列增刪改查接口,也可直接用SQL語句實現(xiàn)復(fù)雜應(yīng)用。對象關(guān)系映射數(shù)據(jù)庫是基于SQLite的數(shù)據(jù)庫框架,屏蔽底層的SQL操作,針對實體和關(guān)系提供了一系列面向?qū)ο蟮慕涌?,以操作對象的形式操作?shù)據(jù)庫。還有用Key-Value結(jié)構(gòu)的數(shù)據(jù)進行存取和持久化操作的輕量級數(shù)據(jù)存儲,運行時數(shù)據(jù)加載在內(nèi)存中,訪問速度快、存取效率高。

        分布式數(shù)據(jù)服務(wù)通過調(diào)用分布式數(shù)據(jù)接口,為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)庫數(shù)據(jù)分布式的能力。通過結(jié)合賬號、應(yīng)用和數(shù)據(jù)庫三元組,分布式數(shù)據(jù)服務(wù)對不同應(yīng)用的數(shù)據(jù)進行隔離,保證不同應(yīng)用間的數(shù)據(jù)不能通過分布式數(shù)據(jù)服務(wù)相互訪問。在通過可信認證的設(shè)備間,分布式數(shù)據(jù)服務(wù)支持應(yīng)用數(shù)據(jù)相互同步,為用戶提供在多種終端設(shè)備上最終一致的數(shù)據(jù)訪問體驗。把手機的內(nèi)核級安全能力擴展到其他終端,進而提升全場景設(shè)備的安全性,通過設(shè)備能力互助,共同抵御攻擊,保障智能家居網(wǎng)絡(luò)安全[4]。

        原子化服務(wù)是HarmonyOS提供的一種面向未來的服務(wù)提供方式,基于HarmonyOS API,是有獨立入口的、免安裝的、可為用戶提供一個或多個便捷服務(wù)的用戶應(yīng)用程序形態(tài),應(yīng)用形態(tài)更加輕量、入口更豐富、分發(fā)更精準。支持運行在1+8+N設(shè)備上,由1個或多個HAP包組成,1個HAP包對應(yīng)1個FA或PA,每個FA或PA均可獨立運行,完成1個特定功能,1個或多個功能(對應(yīng)FA或PA)完成1個特定服務(wù)。

        5 課程體系建設(shè)

        通過研究HarmonyOS的技術(shù)架構(gòu)和應(yīng)用開發(fā)所需的技術(shù),首先要有一定的軟件項目設(shè)計、開發(fā)、管理及文檔編寫能力,熟悉HTML、XML等標記語言和JSON數(shù)據(jù)格式,熟悉Java和JS語言并進行軟件開發(fā),掌握CSS語法和規(guī)則,用面向華為終端全場景多設(shè)備的一站式集成開發(fā)工具DevEco Studio進行應(yīng)用開發(fā)。實際工作中通常會同時使用JS和Java語言開發(fā),用JS來制作應(yīng)用的UI,用Java開發(fā)應(yīng)用的邏輯,用JS FA調(diào)用Java PA。最后通過HarmonyOS IDL實現(xiàn)不同設(shè)備間的跨進程通信,即在一個設(shè)備上訪問另一設(shè)備的進程或者調(diào)用另一設(shè)備的方法,實現(xiàn)多設(shè)備的協(xié)同。

        設(shè)計基于HarmonyOS應(yīng)用開發(fā)的教學(xué)體系時,針對HarmonyOS分布式應(yīng)用開發(fā)涉及面廣、針對性強、技術(shù)要求高的特點,要強化軟件工程、Java語言、Web前端和服務(wù)器端開發(fā)等相關(guān)基礎(chǔ)知識的學(xué)習(xí),突出HarmonyOS應(yīng)用基礎(chǔ)開發(fā)技能的訓(xùn)練,最終進行跨語言、跨網(wǎng)絡(luò)、跨設(shè)備的綜合性分布式應(yīng)用系統(tǒng)開發(fā)能力的培養(yǎng)。課程體系可參考圖2。

        HarmonyOS的誕生打破了操作系統(tǒng)的壟斷,讓中國軟件第一次步入全球頂尖操作系統(tǒng)的競爭行列,對比安卓系統(tǒng),其運行速度更快更流暢;對比 iOS 系統(tǒng),手機鴻蒙更省電[5]。HarmonyOS對華為公司乃至中國,都具有極其重要的戰(zhàn)略意義。對于高校來說,應(yīng)抓住這一歷史機遇,適時進行相關(guān)課程的改革,建立起基于HarmonyOS的基礎(chǔ)、應(yīng)用、拓展三個層次的課程體系,在教學(xué)實踐中不斷優(yōu)化和發(fā)展。

        參考文獻:

        [1] 李艷,劉丹,田小東,等.HarmonyOS特點與應(yīng)用前景分析[J].通信與信息技術(shù),2019(5):85-87.

        [2] 文華.手機版鴻蒙來了 它到底能做什么?[J].通信世界,2020(34):34-35.

        [3] 華為.HarmonyOS Developer文檔[EB/OL].[2021-07-30].https://developer.harmonyos.com/cn/documentation.

        [4] 宋奇.華為HarmonyOS 2.0不一樣的體驗[J].計算機與網(wǎng)絡(luò),2020,46(18):72.

        [5] 李沖.鴻蒙系統(tǒng):萬物互聯(lián)將成現(xiàn)實[J].華東科技,2021(7):14-15.

        【通聯(lián)編輯:梁書】

        收稿日期:2021-08-24

        基金項目:??诮?jīng)濟學(xué)院校級項目《基于“1+X”Web前端開發(fā)人才培養(yǎng)模式的構(gòu)建與實踐》(Hjyj2020031)

        作者簡介:龍軍(1971—),男,??诮?jīng)濟學(xué)院副教授,研究方向為計算機應(yīng)用。

        3078500338235

        猜你喜歡
        課程建設(shè)
        優(yōu)化措施,提高能力
        考試周刊(2016年86期)2016-11-11 09:29:05
        “需求導(dǎo)向”視域中地方高校音樂專業(yè)的聲樂教學(xué)構(gòu)建
        戲劇之家(2016年20期)2016-11-09 23:28:12
        發(fā)酵設(shè)備與實訓(xùn)精品課程建設(shè)研究
        基于工程教育認證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
        高職機械類專業(yè)“CAD圖形設(shè)計”課程建設(shè)
        中國市場(2016年36期)2016-10-19 05:00:13
        MOOC時代創(chuàng)新區(qū)域教師培訓(xùn)課程建設(shè)研究
        《海圖學(xué)》課程的建設(shè)與實踐
        科技視界(2016年21期)2016-10-17 18:25:28
        “誤差理論與數(shù)據(jù)處理”課程建設(shè)的實踐與思考
        科技視界(2016年21期)2016-10-17 18:17:51
        基于卓越計劃的金屬結(jié)構(gòu)材料課程實踐化改革與建設(shè)
        資源、生態(tài)與環(huán)境學(xué)科群體系下普通地質(zhì)學(xué)課程建設(shè)思考
        色婷婷五月综合久久| 都市激情亚洲综合一区| 一区二区高清视频免费在线观看 | 少妇高潮无码自拍| 国产免费人成视频在线观看| 国产欧美性成人精品午夜| 狼色精品人妻在线视频| 免费黄色福利| 亚洲人妻御姐中文字幕| 久久婷婷五月综合97色直播| 国产精品jizz在线观看老狼| аⅴ天堂一区视频在线观看| 网红尤物泛滥白浆正在播放| 欲求不満の人妻松下纱荣子| 夜夜嗨av一区二区三区| 亚欧免费视频一区二区三区| 日日噜噜噜夜夜狠狠久久蜜桃 | 国产性生大片免费观看性| 国产精品免费久久久免费| 日韩av中文字幕少妇精品| 久久久久99精品成人片欧美| 欧美亚洲国产片在线播放| 亚洲无码夜夜操| 中文字幕日本在线乱码| 欲香欲色天天综合和网| 国产精品久久久av久久久| 极品粉嫩小仙女高潮喷水视频| 国产自拍视频在线观看免费| 国产xxxxx在线观看| 国产成人av综合亚洲色欲| 国产av三级精品车模| 国产午夜片无码区在线播放| 少妇内射高潮福利炮| 免费毛片性天堂| 亚洲中文字幕国产剧情| 亚洲av成人无码久久精品老人| 亚洲国产成人久久一区www| 国内精品久久久久影院蜜芽| av成人一区二区三区| 性色做爰片在线观看ww| 亚洲精品理论电影在线观看|