鸿蒙应用开发背景及鸿蒙开发常识
摘要: 鸿蒙生态(HarmonyOS NEXT)已发展为纯自研的全场景操作系统,设备数超6000万。OHPM(鸿蒙包管理工具)支持三方库的安装、发布与管理,覆盖网络请求、UI组件、工具库等功能。开发者可通过ohpm install引入库,并在ArkTS中直接调用。贡献三方库流程清晰,需配置密钥并发布HAR文件,当前生态处于蓝海阶段,竞争少、曝光高。鸿蒙三方库数量快速增长,AI深度融合成为趋势,为开
一、背景:鸿蒙生态的爆发
自 HarmonyOS NEXT(鸿蒙 5.0)全面去 Android 化以来,鸿蒙已从一个“兼容安卓”的系统蜕变为纯自研的全场景操作系统。截至 2026 年:
- HarmonyOS 6.x 终端设备数突破 6000 万
- 覆盖 18 个核心垂直领域
- API 版本迭代至 26(OpenHarmony 7.0 Beta1)
生态的繁荣离不开三方库——它是开发者效率的倍增器,也是生态成熟度的关键指标。
二、OHPM:鸿蒙的包管理引擎
本文全面解析 HarmonyOS NEXT 时代的三方库生态,涵盖 OHPM 包管理工具的核心用法、ArkTS 库的分类与热门推荐、项目集成实战、贡献发布全流程以及生态展望。无论你是鸿蒙应用开发者寻求效率提升,还是开源贡献者希望抢占蓝海,本文都将为你提供从入门到精通的完整指南。
OHPM(OpenHarmony Package Manager)是鸿蒙生态的标准包管理工具,由三部分组成:
| 组件 | 功能 |
|---|---|
| 中心仓网站 | 检索、查看三方库信息,管理个人/组织配置 |
| 命令行工具(CLI) | 安装、更新、卸载、发布三方库 |
| 中心仓仓库(Registry) | 存储所有三方库及其元数据 |
官方地址:ohpm.openharmony.cn
常用命令速查
# 安装三方库
ohpm install @ohos/axios
# 安装指定版本
ohpm install @ohos/crypto-js@2.0.1
# 卸载三方库
ohpm uninstall @ohos/axios
# 更新三方库
ohpm update @ohos/axios
# 发布三方库
ohpm publish ./build/default/outputs/default/xxx.har
# 配置私钥路径(发布前)
ohpm config set key_path ~/.ssh/ohpm_rsa
# 配置发布码
ohpm config set publish_id your_publish_id
三、三方库分类与热门推荐
鸿蒙三方库主要分为两类:
按开发语言
| 类型 | 说明 |
|---|---|
| ArkTS/TS/JS 库 | 可直接在项目中 import 使用,占绝大多数 |
| C/C++ 库 | 通过 NAPI 方式调用,用于高性能场景 |
按功能分类
当前 OpenHarmony 三方库中心仓已覆盖以下类别:
| 类别 | 代表性功能 | 示例包名 | 基本用法示例(ArkTS) |
|---|---|---|---|
| 网络请求 | HTTP 客户端、WebSocket | @ohos/axios | typescript<br>import axios from '@ohos/axios';<br><br>// GET 请求示例<br>axios.get('https://api.example.com/data')<br> .then((response) => {<br> console.info('Response data:', response.data);<br> })<br> .catch((error) => {<br> console.error('Request failed:', error);<br> });<br> |
| UI 组件 | 图表、轮播、富文本、下拉刷新 | 各类 UI 组件库 | typescript<br>// 以图表组件为例<br>import { LineChart } from '@ohos/charts';<br><br>@Component<br>struct ChartExample {<br> private data: number[] = [10, 20, 30, 40, 50];<br><br> build() {<br> Column() {<br> LineChart({ data: this.data })<br> .width('100%')<br> .height(300)<br> }<br> }<br>}<br> |
| 工具库 | 加解密、日期处理、颜色转换 | @ohos/crypto-js、@ohos/dayjs | typescript<br>import { CryptoJS } from '@ohos/crypto-js';<br>import dayjs from '@ohos/dayjs';<br><br>// 1. 加密示例<br>const hash = CryptoJS.MD5('123456');<br>console.info('MD5 hash:', hash.toString());<br><br>// 2. 日期处理示例<br>const now = dayjs();<br>const formatted = now.format('YYYY-MM-DD HH:mm:ss');<br>console.info('Current time:', formatted);<br> |
| 动画 | Lottie 动画、过渡动效 | Lottie for HarmonyOS | typescript<br>import { LottieAnimation } from '@ohos/lottie';<br><br>@Component<br>struct AnimationExample {<br> build() {<br> Column() {<br> LottieAnimation('loading.json')<br> .width(100)<br> .height(100)<br> .autoPlay(true)<br> .loop(true)<br> }<br> }<br>}<br> |
| 存储 | 键值对、文件、数据库 ORM | 数据库适配库 | typescript<br>import { KVStore } from '@ohos/data-storage';<br><br>// 键值对存储示例<br>const kvStore = new KVStore('myApp');<br>await kvStore.putString('username', 'HarmonyDev');<br>const name = await kvStore.getString('username');<br>console.info('Stored username:', name);<br> |
| 安全 | 加密算法、证书校验 | @ohos/crypto-js 等 | typescript<br>import { CryptoJS } from '@ohos/crypto-js';<br><br>// AES 加密示例<br>const encrypted = CryptoJS.AES.encrypt(<br> 'secret message',<br> 'my-secret-key'<br>).toString();<br>console.info('Encrypted:', encrypted);<br><br>const decrypted = CryptoJS.AES.decrypt(<br> encrypted,<br> 'my-secret-key'<br>).toString(CryptoJS.enc.Utf8);<br>console.info('Decrypted:', decrypted);<br> |
| 多媒体 | 图片加载、音视频处理 | 图片缓存与加载库 | typescript<br>import { ImageLoader } from '@ohos/image-loader';<br><br>@Component<br>struct ImageExample {<br> build() {<br> Column() {<br> ImageLoader('https://example.com/photo.jpg')<br> .width(200)<br> .height(200)<br> .placeholder($r('app.media.loading'))<br> .error($r('app.media.error'))<br> }<br> }<br>}<br> |
| 数据 | JSON 解析、状态管理 | 各类状态管理方案 | typescript<br>// 状态管理示例(简化版)<br>import { observable, action } from '@ohos/mobx-harmony';<br><br>class CounterStore {<br> @observable count: number = 0;<br><br> @action<br> increment() {<br> this.count++;<br> }<br>}<br><br>const store = new CounterStore();<br>store.increment();<br>console.info('Current count:', store.count);<br> |
四、如何在项目中使用三方库
4.1 安装
在 oh-package.json5 中声明依赖:
{
"dependencies": {
"@ohos/crypto-js": "2.0.1",
"@ohos/axios": "^1.0.0"
}
}
然后执行:
ohpm install
也可以直接安装,自动写入 oh-package.json5:
ohpm install @ohos/axios
4.2 引用
安装完成后在 ArkTS 代码中直接引入:
import { CryptoJS } from '@ohos/crypto-js';
let hash = CryptoJS.MD5("123456");
4.3 本地引用
也支持引用本地 .har 文件或文件夹:
ohpm install ./local-package.har
# 或
ohpm install ../my-library-folder
五、如何贡献和发布三方库
对开发者来说,在鸿蒙生态中贡献三方库是获取流量和技术影响力的绝佳机会——当前中心仓的库数量远不及 npm,竞争小、曝光高。
5.1 创建库工程
- 在 DevEco Studio 中新建 Empty Ability 工程
- File → New → Module,选择 Static Library 模板
- 编写库代码,编辑
oh-package.json5
5.2 oh-package.json5 关键字段
{
"name": "@your-org/your-library",
"version": "1.0.0",
"description": "库描述",
"main": "index.ts",
"ohos": {
"org": "opensource"
},
"keywords": ["HarmonyOS", "OpenHarmony", "Tools"],
"license": "MIT",
"repository": "https://gitee.com/your-org/your-library",
"dependencies": {},
"tags": ["Tools"]
}
5.3 发布流程
- 注册 OpenHarmony 三方库中心仓账号
- 生成 RSA 公私钥对(
ssh-keygen -m PEM -t RSA -b 4096) - 在个人中心上传公钥
- 配置私钥路径:
ohpm config set key_path your_key - 复制发布码 → 配置:
ohpm config set publish_id your_id - 构建 HAR:Build → Make
- 发布:
ohpm publish build/default/outputs/default/xxx.har
常见坑
- 组织未认证:
name中的组织(如@your-org)需要在中心仓的组织管理中申请认证 - 文件缺失:发布前需确保有
CHANGELOG.md、LICENSE、README.md - passphrase:生成密钥时必须填写非空的 passphrase
六、鸿蒙三方库测试
DevEco Studio 内置测试框架(OpenHarmony Test),支持在模拟器或真机上执行:
describe('CryptoJS Test Suite', () => {
beforeAll(() => {
console.info('Before all tests');
});
beforeEach(() => {
console.info('Before each test');
});
it('should generate MD5 hash correctly', () => {
const hash = CryptoJS.MD5('123456');
expect(hash.toString()).toEqual('e10adc3949ba59abbe56e057f20f883e');
});
afterEach(() => {
console.info('After each test');
});
afterAll(() => {
console.info('After all tests');
});
});
测试文件放在 ohosTest 目录下,命名约定:xxx.test.ets。
七、生态展望
| 维度 | 当前状态 | 趋势 |
|---|---|---|
| 设备基数 | 6000 万+ | 持续增长中 |
| 三方库数量 | 初具规模,但仍远少于 npm | 快速增长期 |
| 开发工具链 | DevEco Studio + OHPM | 成熟度逐渐接近主流 IDE |
| AI 集成 | HarmonyOS 6.x 开始 AI 深度融合 | 将成为差异化优势 |
| 贡献者机会 | 蓝海,竞争少、曝光高 | 窗口期有限,建议尽早入场 |
八、写在最后
鸿蒙三方库生态正处于从量变到质变的关键阶段。对开发者来说:
- 使用者:OHPM 让引入三方库像 npm 一样简单,当前库数量虽少但精品频出
- 贡献者:现在是进入的最佳时机——发布一个高质量的鸿蒙三方库,可能在数千个鸿蒙应用中被引用
官方入口:OpenHarmony 三方库中心仓
更多推荐



所有评论(0)