IT之家 5 月 7 日訊息,2021 年的華為開發者大會(HDC2021)上,華為釋出了新一代的宣告式 UI 框架 —— 方舟開發框架(ArkUI)。ArkUI 框架引入了基於 TS 擴充套件的宣告式開發正規化。自此,越來越多的開發者加入到 JS / eTS 的開發隊伍中,華為也收到不少開發者對 JS / eTS 元件的需求,比如:
在廣大元件貢獻者的共同努力下,華為又迎來了新一批元件開源,其中就有很多 JS / eTS 元件。
一、新增開源元件概覽
本次上新,共計新增 94 個開源元件。元件涉及工具、網路、UI、圖形、音影片等多種功能。
按開發語言分類,新增元件的分佈詳情如下:
圖 1 按開發語言分類
從上圖可知,上新的元件大部分採用 JS / TS / eTS 語言,這為 JS / eTS 開發者的開發之旅增添很大助力。
二、典型元件效果展示
下面為大家介紹四個典型的元件,也期待大家自己去發現更多好用的元件~
1. zxing
接觸過二維碼相關開發的開發者應該對 zxing 庫不陌生。zxing 庫是一個開源的條形碼處理類庫,用於解析多種格式的 1D / 2D 條形碼。
華為之前只開源了 Java 版的 zxing 庫(Zxing-Embedded),此次上新 TS 版的 zxing 庫,讓 eTS 開發者也能使用 zxing 庫進行二維碼相關的應用開發。
zxing 庫支援解析以下 1D / 2D 條形碼格式:
圖 2 支援的條形碼格式
圖 3 展示了使用此 zxing 庫生成和解析二維碼的開發示例。此示例中,解析二維碼時還展示了 jsQr 庫的解析結果,對比驗證 zxing 庫解析二維碼的正確性。
圖 3 zxing
原始碼下載地址:
https://gitee。com/openharmony-tpc/zxing
2. VCard
VCard,即電子名片,是網際網路中一種規範的檔案傳播格式,它主要是將傳統紙質商業名片上的資訊以一種標準格式在網際網路上傳播。VCard 應用範圍非常廣泛,可作為各種應用或系統之間的交換格式。使用者在網際網路上直接利用電子郵件等途徑,就可以輕鬆轉發和閱讀 VCard 中的資訊。
本次上新的是 eTS 版本的 VCard 元件,支援 VCard 標準 2。0 和 3。0,提供的介面有:暱稱、名字、電話、郵件、地址、社交工具、網站地址、組織、照片地址、備註、群組、事件和關係。
透過此 VCard 元件可以輕鬆解析和生成 VCard 檔案,如下圖所示:
圖 4 VCard
(注意:使用此 VCard 元件,需配套 OpenHarmony API version 8 及以上版本。)
原始碼下載地址:
https://gitee。com/openharmony-tpc/VCard
3. CommonsCompressEts
CommonsCompressEts 是基於 eTS 語言開發的 API 庫,提供十多種檔案格式的壓縮和解壓縮功能。檔案格式包括:zip、gzip、xz、z、zstd、ar、brotli、bzip2、lz4、lzma(seven7)、tar、snappy、dump、deflate、cpio。
以 zip 格式為例,演示壓縮和解壓縮功能如下:
圖 5 CommonsCompressEts
原始碼下載地址:
https://gitee。com/openharmony-tpc/CommonsCompressEts
4. httpclient
httpclient(即 HTTP 客戶端),以人們耳熟能詳的 okhttp 為基礎,整合 android-async-http、AutobahnAndroid、OkGo 等庫的功能特性,致力於打造一款高效易用、功能全面的網路請求庫。使用此 httpcilent,可以使您的內容載入更快,且節省頻寬。
當前,httpclient 依託系統提供的網路請求能力和上傳下載能力,已完成如下功能:
全域性配置除錯開關、超時時間、公共請求頭和請求引數等,支援鏈式呼叫。
配合 okio 庫最佳化 IO,配合 retrofit 使用註解定義介面。
支援自定義任務排程器維護任務佇列來處理同步非同步請求,還支援 tag 取消請求。
支援設定自定義攔截器。
支援重定向。
支援客戶端 gzip 解壓縮。
支援檔案上傳和下載。
支援 cookie 管理等。
圖 6、圖 7、圖 8 為使用 httpclient 實現的三個開發示例,分別實現了檔案上傳、圖片預覽以及網路請求(GET 和 POST)的功能。
圖 6 檔案上傳
圖 7 圖片預覽
圖 8 網路請求
原始碼下載地址:
https://gitee。com/openharmony-tpc/httpclient
除了上面介紹的四個典型元件,還有其他很多元件,比如:功能強大的 eTS 圖表檢視庫 ohos-MPChart,提供豐富多樣的選擇器的 ohos-PickerView 等等。更多好用的元件等你去發現哦,下面就來看看如何獲取這些元件。
三、如何獲取開源元件?
開發者可以直接透過 OpenHarmony 三方元件庫(OpenHarmony-TPC)下載原始碼或從 HarmonyOS 開發者資源中心(DevEco Marketplace)獲取相關元件。
1. OpenHarmony-TPC
OpenHarmony 三方元件庫(OpenHarmony-TPC)彙總了各類已經開源的三方元件資源。新增的元件帶
字首,開發者可以根據自身需求參考和使用。
圖 9 三方元件資源彙總
OpenHarmony-TPC 地址:
https://gitee。com/openharmony-tpc/tpc_resource
2. DevEco Marketplace
HarmonyOS 開發者資源中心(DevEco Marketplace),聚合了豐富的鴻蒙生態開發資源包,方便開發者一站式獲取所需資源,輕鬆完成鴻蒙智聯硬體、原子化服務和應用的開發。開發者可以根據自身需求查詢和下載元件。
圖 10 DevEco Marketplace
DevEco Marketplace 地址:
https://repo。harmonyos。com/#/cn/application/atomService
四、如何使用 JS / eTS 開源元件?
獲取了開源元件後,要如何使用呢?下面就為大家介紹 JS / eTS 開源元件的使用。
1。 獲取元件的 scope 配置命令和 npm 命令。
DevEco Marketplace 提供了元件的安裝命令,下面以此為例來介紹。
(1)在 DevEco Marketplace 查詢需要使用的 JS / eTS 開源元件。
圖 11 查詢元件
(2)點選元件,在“安裝”頁籤中檢視 scope 配置命令和 npm 命令。
圖 12 元件的“安裝”頁籤
2。 在 DevEco Studio 工具中開啟需要引用元件的工程,在 Terminal 中執行 scope 配置命令和 npm 命令。
圖 13 執行命令
執行以上命令後,工具自動下載和安裝元件庫。下載和安裝完成後,會在工程檔案下自動生成 node_modules 資料夾,元件庫就被儲存在此資料夾下。
圖 14 node_modules
3。 接下來,就可以在程式碼檔案中匯入和使用元件了。
圖 15 匯入和使用元件