欢迎光临
我们一直在努力

鸿蒙应用开发背景及鸿蒙开发常识

一、背景:鸿蒙生态的爆发

自 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)
    未经允许不得转载:171主机测评 » 鸿蒙应用开发背景及鸿蒙开发常识
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址