HarmonyOS】鴻蒙應用開發中常用的三方庫介紹和使用示例

?🌟 鴻蒙應用開發常用三方庫指南(2025 最新版)

適用版本:HarmonyOS NEXT / API 12+
參考來源:HarmonyOS 三方庫中心
截止至 2025 年 8 月 1 日,本文整理了當前社區中下載量高、穩定性強、生態完善的熱門三方庫,涵蓋網絡請求、UI 組件、狀態管理、數據存儲、工具函數及媒體處理等核心模塊,幫助開發者快速構建高效、現代化的鴻蒙應用。


一、網絡與數據交互

1.?@ohos/axios?—— 熟悉的 HTTP 客戶端

@ohos/axios 是 Axios 在 HarmonyOS 平臺的適配版本,支持 Promise 風格的異步請求,語法與 Web 端保持一致,極大降低遷移成本。

? 特性
  • 支持 GET/POST/PUT/DELETE 請求
  • 自動 JSON 序列化
  • 攔截器(請求/響應)
  • 超時控制、取消請求
  • HTTPS 安全通信
🔧 安裝
{"dependencies": {"@ohos/axios": "1.3.2"}
}
💡 使用示例
import axios from '@ohos/axios';// 全局配置
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.timeout = 5000;// 添加請求攔截器(如鑒權)
axios.interceptors.request.use((config) => {const token = 'your-jwt-token';if (token) {config.headers.Authorization = `Bearer ${token}`;}return config;},(error) => Promise.reject(error)
);// GET 請求
async function fetchUser(id: number) {try {const response = await axios.get('/user', {params: { id }});console.info('用戶數據:', response.data);return response.data;} catch (error: any) {console.error('請求失敗:', error.message);}
}// POST 請求
async function createUser(userData: object) {const res = await axios.post('/user', userData);console.log('創建成功:', res.data);
}

?? 注意:在 module.json5 中需聲明網絡權限:

"requestPermissions": [{ "name": "ohos.permission.INTERNET" }
]

2.?@ohos/websocket?—— 實時通信支持

適用于聊天、通知推送、實時監控等場景,提供穩定的 WebSocket 客戶端能力。

? 特性
  • 支持?wss://?安全連接
  • 消息監聽與發送
  • 斷線重連機制(需自行實現或使用擴展)
🔧 安裝
{"dependencies": {"@ohos/websocket": "2.1.0"}
}
💡 使用示例
import WebSocket from '@ohos/websocket';const ws = new WebSocket('wss://echo.websocket.org');ws.onopen = () => {console.log('WebSocket 連接成功');ws.send('Hello, HarmonyOS!');
};ws.onmessage = (event) => {console.log('收到消息:', event.data);
};ws.onerror = (event) => {console.error('WebSocket 錯誤:', event);
};ws.onclose = (code, reason) => {console.log(`連接關閉: code=${code}, reason=${reason}`);
};

? 建議封裝為 Service 類,并集成心跳保活機制。


二、UI 組件與交互

1.?@tdesign/arkui-harmonyos?—— 企業級 UI 解決方案

由騰訊 TDesign 團隊維護,專為 HarmonyOS 設計的企業級 UI 組件庫,風格統一、文檔完善、支持暗黑模式。

? 特性
  • 覆蓋按鈕、彈窗、表單、列表、導航等 50+ 組件
  • 支持主題定制
  • TypeScript 類型提示完善
  • 開箱即用,適配 ArkUI
🔧 安裝
{"dependencies": {"@tdesign/arkui-harmonyos": "0.8.5"}
}
💡 使用示例
import { Button, Dialog } from '@tdesign/arkui-harmonyos';
import { Column } from '@arkui-x/components';@Entry
@Component
struct TDesignDemo {@State showDialog: boolean = false;build() {Column() {Button({ type: 'primary', content: '打開彈窗' }).onClick(() => this.showDialog = true)Dialog({title: '提示',content: '這是 TDesign 彈窗組件',visible: this.showDialog,onClose: () => this.showDialog = false})}.width('100%').padding(20)}
}

📌 推薦用于中后臺、管理類應用。


2.?@ohos/calendar?—— 高性能日歷組件

支持單選、范圍選擇、節假日標注、自定義樣式等功能,適用于日程、打卡、預約類應用。

🔧 安裝
{"dependencies": {"@ohos/calendar": "3.2.1"}
}
💡 使用示例
import { Calendar } from '@ohos/calendar';
import { Column } from '@arkui-x/components';@Entry
@Component
struct CalendarDemo {@State selectedDate: Date = new Date();build() {Column() {Calendar({startDate: new Date(2024, 0, 1),endDate: new Date(2025, 11, 31),selectedDate: this.selectedDate,onSelect: (date: Date) => {this.selectedDate = date;console.log(`選中日期: ${date.toLocaleDateString()}`);}}).width('90%').height(400)}}
}

? 支持農歷、節氣顯示(需啟用對應配置)。


三、狀態管理

1.?@ohos/pinia?—— 輕量級狀態管理庫

靈感來自 Vue 的 Pinia,專為 HarmonyOS 設計的狀態管理方案,API 簡潔,支持模塊化和類型推導。

? 特性
  • 模塊化 Store 設計
  • 支持?actionsgettersstate
  • 與 TypeScript 深度集成
  • 無 mutations,代碼更簡潔
🔧 安裝
{"dependencies": {"@ohos/pinia": "2.2.3"}
}
💡 使用示例
import { createPinia, defineStore } from '@ohos/pinia';// 創建全局狀態容器
const pinia = createPinia();// 定義用戶模塊
const useUserStore = defineStore('user', {state: () => ({name: 'HarmonyOS',age: 3}),getters: {doubleAge: (state) => state.age * 2},actions: {incrementAge() {this.age++;},updateName(newName: string) {this.name = newName;}}
});// 在組件中使用
@Component
struct UserInfo {private userStore = useUserStore(pinia); // 注入 storebuild() {Column() {Text(`姓名: ${this.userStore.name}`).fontSize(18)Text(`年齡: ${this.userStore.age}`)Text(`雙倍年齡: ${this.userStore.doubleAge}`)Button('增加年齡').onClick(() => this.userStore.incrementAge())}.padding(20)}
}

? 推薦用于中大型應用的狀態集中管理。


四、數據存儲

1.?@ohos/sqlite-orm?—— ORM 數據庫操作

基于 SQLite 的對象關系映射庫,支持實體類注解、自動建表、CRUD 操作,適合結構化數據持久化。

🔧 安裝
{"dependencies": {"@ohos/sqlite-orm": "4.1.0"}
}
💡 使用示例
import { Database, Entity, Column, PrimaryGeneratedColumn } from '@ohos/sqlite-orm';@Entity('user')
class User {@PrimaryGeneratedColumn()id: number;@Column()name: string;@Column()age: number;
}// 初始化數據庫
const db = new Database({name: 'myApp.db',entities: [User],version: 1
});// 數據操作
async function dbOperations() {const repo = db.getRepository(User);// 插入const user = new User();user.name = 'Alice';user.age = 25;await repo.save(user);// 查詢全部const users = await repo.find();console.log('用戶列表:', users);// 條件查詢const adultUsers = await repo.find({ where: { age: { $gte: 18 } } });
}

? 適合存儲用戶信息、日志、緩存等復雜數據結構。


五、工具類

1.?@ohos/lodash?—— 實用工具函數庫

Lodash 的 HarmonyOS 移植版,提供大量數組、對象、函數操作工具,提升編碼效率。

🔧 安裝
{"dependencies": {"@ohos/lodash": "4.17.21"}
}
💡 常用方法示例
import _ from '@ohos/lodash';// 數組去重
const unique = _.uniq([1, 2, 2, 3, 3, 3]); // [1, 2, 3]// 深拷貝
const obj = { a: 1, b: { c: 2 } };
const copy = _.cloneDeep(obj);// 防抖(適用于搜索框)
const search = _.debounce((query: string) => {console.log('執行搜索:', query);
}, 300);// 節流(適用于滾動事件)
const scrollHandler = _.throttle(() => {console.log('滾動中...');
}, 100);// 對象取值安全
const name = _.get(user, 'profile.info.name', '默認名稱');

? 推薦用于處理復雜數據結構或性能優化場景。


六、媒體與圖形

1.?@ohos/glide?—— 圖片加載與緩存

仿 Android Glide 設計,支持網絡/本地圖片加載、內存+磁盤緩存、占位圖、錯誤圖、圓角裁剪等。

🔧 安裝
{"dependencies": {"@ohos/glide": "2.3.0"}
}
💡 使用示例
import { Glide } from '@ohos/glide';
import { Image } from '@arkui-x/components';@Component
struct ImageDemo {build() {Column() {Image().width(300).height(200).onAppear(() => {// 圖片加載Glide.with(this).load('https://picsum.photos/300/200').placeholder($r('app.media.placeholder')) // 占位圖資源.error($r('app.media.error'))           // 加載失敗圖.circleCrop()                            // 圓形裁剪.into(this);                             // 綁定到當前 Image})}}
}

? 支持 GIF、WebP 等格式(需系統支持)。


? 總結:推薦組合方案

功能模塊推薦庫優勢說明
網絡請求@ohos/axios語法熟悉,功能完整
實時通信@ohos/websocket原生封裝,穩定可靠
UI 組件@tdesign/arkui-harmonyos企業級,開箱即用
狀態管理@ohos/pinia輕量、類型友好
數據庫@ohos/sqlite-ormORM 提升開發效率
工具函數@ohos/lodash開發提效神器
圖片加載@ohos/glide緩存優化,體驗佳

📚 學習建議

  1. 優先使用官方推薦庫:通過?OHPM 三方庫中心?查看最新版本與兼容性。
  2. 注意權限聲明:網絡、存儲、相機等功能需在?module.json5?中申請對應權限。
  3. 結合 ArkUI 使用:所有 UI 庫均基于 ArkUI 構建,建議掌握?@Component@State?等基礎語法。
  4. 關注 TypeScript 支持:現代鴻蒙開發推薦使用 TS,提升類型安全。

📢 更新提示:本文內容基于 2025 年 8 月 1 日 的生態現狀整理,三方庫版本可能持續更新,請以 OHPM 官網 為準。


? 立即開始你的高效鴻蒙開發之旅吧!
📌 收藏本文,作為日常開發的“三方庫速查手冊”。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92125.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92125.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92125.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【通識】C Sharp

1. 使用 \p{名稱}構造匹配Unicode常規類別(該示例為Pd或“標點、短劃線”類別)和命名塊(IsGreek和IsBsicLatin命名塊) using System; using system.Text.RegularExpressions; public class Example {public static void main() {s…

國內首個開源SCA社區——OpenSCA開源社區

OpenSCA開源社區成果說明項目背景智能時代,軟件定義一切。隨著開發模式的敏捷化轉型,開源代碼在軟件制品中的占比越來越大,開源軟件已然成為軟件供應鏈的重要組成部分。由于其特殊性,開源代碼的引入增加了軟件應用的風險面&#x…

超聚變:智能體時代,AI原生重構城企數智化基因

2025 世界人工智能大會(WAIC)世博展覽館內,超聚變展臺前人頭攢動,其展示的AI落地全棧解決方案及上百個AI應用場景吸引了眾多參觀者駐足觀看。這是今年WAIC大會火爆的一角,更是當下AI應用爆發的一個縮影。當人工智能發展…

Traccar:開源GPS追蹤系統的核心價值與技術全景

Traccar:開源GPS追蹤系統的核心價值與技術全景 —— 從設備兼容到企業級定位管理的開源實踐 一、項目定位:多場景定位管理的開源基石 Traccar是一個高擴展性的開源GPS追蹤平臺,支持全球超過200種通信協議與2000款GPS設備(包括車…

編程與數學 03-002 計算機網絡 20_計算機網絡課程實驗與實踐

編程與數學 03-002 計算機網絡 20_計算機網絡課程實驗與實踐一、實驗環境搭建(一)使用模擬器(如Cisco Packet Tracer)搭建網絡實驗環境(二)實驗設備的配置與連接二、基礎網絡實驗(一&#xff09…

15個命令上手Linux!

1、id,顯示當前登錄系統的用戶信息2、pwd,顯示當前工作目錄的絕對路徑3、ls,顯示當前目錄下的內容(ls -r:按反向順序列出內容,ls -l:以詳細列表形式顯示)4、cd,切換工作目…

MongoDB分片技術實現

MongoDB分片技術實現概述MongoDB分片(Sharding)是MongoDB的水平擴展解決方案,通過將數據分布到多個分片(shard)上來處理大數據量和高吞吐量的需求。MongoDB分片架構1. 分片集群組件# MongoDB分片集群架構 version: 3.8…

Python開發環境PyCharm下載與安裝

python下載 python下載地址: Download Python | Python.org 上面的下載速度慢的話,用下面的地址下載(window): https://download.csdn.net/download/liangmengbk/91580033 PyCharm下載 PyCharm下載地址&#xff1a…

汽車供應鏈PPAP自動化審核指南:如何用AI實現規則精準匹配與文件智能校驗

在汽車行業質量管理的核心環節,PPAP(生產件批準程序)審核長期困擾著供應商與主機廠。 隨著IATF 16949等標準持續升級、新能源零件復雜度激增,傳統人工審核模式正面臨系統性挑戰。 行業數據顯示,超過70%的SQE&#xf…

正則表達式在js中的應用

正則表達式在 JavaScript 中的應用非常廣泛,尤其是在字符串處理和驗證方面。以下是一些常見的正則表達式方法及其應用示例,包括 .test() 方法。 1. .test() 方法 .test() 方法用于測試一個字符串是否匹配正則表達式。如果匹配,返回 true&…

Rust視頻處理開源項目精選

Rust視頻處理開源項目精選 基于Rust實現的視頻處理示例 以下是一些基于Rust實現的視頻處理或多媒體相關的開源項目或示例,涵蓋編解碼、流媒體、分析工具等方向,可作為實際開發參考: 視頻編解碼與處理 rav1e:Rust編寫的AV1視頻編碼器,高性能且內存安全,適合研究視頻壓縮…

Python爬蟲實戰:研究pycrumbs庫,構建豆瓣讀書數據采集系統

1. 引言 1.1 研究背景 在大數據與人工智能技術快速發展的背景下,互聯網作為全球最大的信息載體,蘊含著海量結構化與非結構化數據。高效、合規地獲取這些數據成為數據分析、業務決策的前提。網絡爬蟲作為自動化數據采集工具,通過模擬人類瀏覽行為遍歷網頁并提取信息,已成為…

linux的用戶操作(詳細介紹)

在 Linux 系統中,用戶管理是系統管理員的核心工作之一,涉及用戶賬號的創建、修改、刪除、權限分配等操作。Linux 采用多用戶多任務機制,通過嚴格的用戶和組管理確保系統安全性和資源分配合理性。以下是 Linux 用戶操作的詳細介紹:…

k8s常見問題

以下是 Kubernetes 常見問題(FAQ)的整理,涵蓋了初學者和運維人員常遇到的痛點: ?一、部署與安裝問題? ?安裝太復雜??? 解決方案:使用 ?kubeadm?(官方工具)、Minikube?&#…

RK Android14 新建分區恢復出廠設置分區數據不擦除及開機動畫自定義(一)

文章目錄 前言 一、分區創建與參數配置 二、分區掛載配置 三、SELinux 安全策略 四、系統初始化配置 五、開機動畫路徑重定向 總結 前言 本方案通過在 RK3568 Android 14 系統中創建一個獨立的 rk_partition 分區(128MB),實現以下核心功能: 出廠設置保護:該分區在恢復出廠…

如何快速給PDF加書簽--保姆級教程

買的電子書沒有目錄書簽看著不舒服,手動加書簽加到想吐。想有沒有辦法快速加書簽。這要分為PDF目錄部分可以被復制和不可被復制兩種情況。不可復制時,要用到工具把目錄提取出來,變成文字。 工具:Foxit Phantom福昕閱讀器&#xff…

Redis面試精講 Day 9:Redis模塊開發與擴展

【Redis面試精講 Day 9】Redis模塊開發與擴展 文章標簽 Redis,模塊開發,擴展機制,面試技巧,Redis模塊,Redis插件 文章簡述 本文是"Redis面試精講"系列第9天,聚焦Redis模塊開發與擴展機制。文章詳細解析Redis模塊系統的架構設計,包括模塊加…

八股訓練--Spring

目錄 一、引言 二、Spring 1.Spring框架的特性 2.介紹一下IOC和AOP 3.IOC和AOP都是如何實現的 4.怎么實現依賴注入 5.為什么AOP不用靜態代理 6.介紹一下反射 7.Spring如何解決循環依賴問題 8.Spring常用注解 9.Spring事務什么情況會失效 10.Bean的生命周期 11.Bean…

無公網環境下在centos7.9上使用kk工具部署k8s平臺(amd64架構)

文章目錄前言一、環境列表二、思路三、環境準備四、有網環境下準備文件1.下載所需的rpm包2.準備harbor需要用到的鏡像3. k8s的鏡像文件4、 生成離線安裝包5、harbor創建項目腳本五、無公網環境部署單點集群1、基礎環境安裝2、安裝harbor3 、 準備k8s鏡像4、安裝k8s六、無公網環…

Objective-C中非傳統設計模式的探索與實踐

本文還有配套的精品資源,點擊獲取 簡介:Objective-C的設計模式不僅僅局限于經典模式,還可以利用其動態特性實現一些非傳統的模式。本文介紹了一系列基于Objective-C動態特性的設計模式,包括使用協議代替類繼承、通過分類擴展類…