🌟 鸿蒙应用开发常用三方库指南(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动态特性的设计模式,包括使用协议代替类继承、通过分类扩展类…