5 月 7 日晚间,华为首发上架 harmonyos 94 个 js/ets 开源组件。本次上新组件涉及工具、网络、ui、图形、音视频等多种功能。按开发语言分类,js/ts/ets 开源组件上新 79 个、c/c 开源组件上新 15 个。
去年的华为开发者大会(hdc2021)上,华为发布了新一代声明式 ui 框架 —— 方舟开发框架(arkui),该框架引入了基于 ts 扩展的声明式开发范式。发布后,许多开发者加入到 js/ets 的开发队伍中,同时华为也收到不少开发者对 js/ets 组件的需求。基于广大开发者的热情,华为在这一批的开源组件中,上新了许多 js/ets 组件。
图源:华为 developers 论坛
在此次上新的 harmonyos 94 个 js/ets 开源组件中,zxing、vcard、commonscompressets、httpclient 这四个典型组件非常值得关注。
zxing 库是一个开源的条形码处理类库,用于解析多种格式的 1d/2d 条形码。据悉,华为之前只开源了 java 版的 zxing 库(zxing-embedded),此次上新 ts 版的 zxing 库,让 ets 开发者也能使用 zxing 库进行二维码相关的应用开发。
图:zxing 库支持解析以下 1d / 2d 条形码格式;源:华为 developers 论坛
vcard(电子名片)是互联网中一种规范的文件传播格式,它主要是将传统纸质商业名片上的信息以一种标准格式在互联网上传播。vcard 应用范围非常广泛,可作为各种应用或系统之间的交换格式。本次华为上新的是 ets 版本的 vcard 组件,支持 vcard 标准 2.0 和 3.0,通过此 vcard 组件可以轻松解析和生成 vcard 文件。但需要注意的是,使用该 vcard 组件时,需配套 openharmony api version 8 及以上版本。
图:vcard 组件演示图;源:华为 developers 论坛
commonscompressets 组件是基于 ets 语言开发的 api 库,提供十多种文件格式的压缩和解压缩功能。文件格式包括:zip、gzip、xz、z、zstd、ar、brotli、bzip2、lz4、lzma(seven7)、tar、snappy、dump、deflate、cpio。
httpclient(即 http 客户端)则是以 okhttp 为基础,整合 android-async-http、autobahnandroid、okgo 等库的功能特性,形成了一套高效易用、功能全面的网络请求库。使用华为此次上新的 httpcilent 组件,可以使内容加载更快,且节省带宽。该组件依托系统提供的网络请求能力和上传下载能力,已完成以下功能:
全局配置调试开关、超时时间、公共请求头和请求参数等,支持链式调用。
配合 okio 库优化 io,配合 retrofit 使用注解定义接口。
支持自定义任务调度器维护任务队列来处理同步异步请求,还支持 tag 取消请求。
支持设置自定义拦截器。
支持重定向。
支持客户端 gzip 解压缩。
支持文件上传和下载。
支持 cookie 管理等。
除四个典型组件外,华为 harmonyos 此次还更新了功能强大的 ets 图表视图库 ohos-mpchart ,提供丰富多样的选择器的 ohos-pickerview 等组件。开发者可以直接通过 openharmony 三方组件库(openharmony-tpc)下载源码或从 harmonyos 开发者资源中心(deveco marketplace)获取相关组件。
获取了开源组件后,使用这些 js/ets 开源组件,可以参考华为鸿蒙官方给出的安装教程
本文中提到的组件源码下载地址:
zxing 组件源码下载地址:
vcard 组件源码下载地址:
commonscompressets 组件源码下载地址:
httpclient 源码下载地址:
openharmony-tpc 地址:
deveco marketplace 地址:
评论