0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

方舟开发框架新增开源组件及其使用方法介绍

海阔天空的专栏 来源:HarmonyOS开发者 作者:HarmonyOS开发者 2022-05-07 17:43 次阅读

2021年的华为开发者大会(HDC2021)上,我们发布了新一代的声明式UI框架——方舟开发框架(ArkUI)。ArkUI框架引入了基于TS扩展的声明式开发范式。自此,越来越多的开发者加入到JS/eTS的开发队伍中,我们也收到不少开发者对JS/eTS组件的需求。

在广大组件贡献者的共同努力下,我们又迎来了新一批组件开源,其中就有很多JS/eTS组件。赶紧来一睹为快吧!

一、新增开源组件概览

本次上新,共计新增94个开源组件。组件涉及工具、网络、UI、图形、音视频等多种功能。

按开发语言分类,新增组件的分布详情如下

pYYBAGJ2O3qAM80XAABbcdtGJZ4719.png

从上图可知,上新的组件大部分采用JS/TS/eTS语言,这为JS/eTS开发者的开发之旅增添很大助力。

二、典型组件效果展示

下面为大家介绍四个典型的组件,也期待大家自己去发现更多好用的组件~

1. zxing

接触过二维码相关开发的开发者应该对zxing库不陌生。zxing库是一个开源的条形码处理类库,用于解析多种格式的1D/2D条形码。

我们之前只开源了Java版的zxing库(Zxing-Embedded),此次上新TS版的zxing库,让eTS开发者也能使用zxing库进行二维码相关的应用开发。

zxing库支持解析以下1D/2D条形码格式:

poYBAGJ2O46AQkOeAAE1HXnycI0660.png

图3展示了使用此zxing库生成和解析二维码的开发示例。此示例中,解析二维码时还展示了jsQr库的解析结果,对比验证zxing库解析二维码的正确性。

poYBAGJ2O72AAPcdABfpWmD31MM255.png图3 zxing

源码下载地址:https://gitee.com/openharmony-tpc/zxing

2. VCard

VCard,即电子名片,是互联网中一种规范的文件传播格式,它主要是将传统纸质商业名片上的信息以一种标准格式在互联网上传播。VCard应用范围非常广泛,可作为各种应用或系统之间的交换格式。用户在互联网上直接利用电子邮件等途径,就可以轻松转发和阅读VCard中的信息。

本次上新的是eTS版本的VCard组件,支持VCard标准2.0和3.0,提供的接口有:昵称、名字、电话、邮件、地址、社交工具、网站地址、组织、照片地址、备注、群组、事件和关系。

通过此VCard组件可以轻松解析和生成VCard文件,如下图所示:

pYYBAGJ2PGWAZo16AJUrhYtDS1Y819.png图4 VCard

(注意:使用此VCard组件,需配套OpenHarmony API version 8及以上版本。)源码下载地址:https://gitee.com/openharmony-tpc/VCard

3. CommonsCompressEts

CommonsCompressEts是基于eTS语言开发的API库,提供十多种文件格式的压缩和解压缩功能。文件格式包括:zip、gzip、xz、z、zstd、ar、brotli、bzip2、lz4、lzma(seven7)、tar、snappy、dump、deflate、cpio。

以zip格式为例,演示压缩和解压缩功能如下:

pYYBAGJ2PLKAYx4JABN2TcI13l4863.png图5 CommonsCompressEts

源码下载地址:https://gitee.com/openharmony-tpc/CommonsCompressEts

4. httpclient

httpclient(即HTTP客户端),以人们耳熟能详的okhttp为基础,整合android-async-http、AutobahnAndroid、OkGo等库的功能特性,致力于打造一款高效易用、功能全面的网络请求库。使用此httpcilent,可以使您的内容加载更快,且节省带宽。

当前,httpclient依托系统提供的网络请求能力和上传下载能力,已完成如下功能:

全局配置调试开关、超时时间、公共请求头和请求参数等,支持链式调用。

配合okio库优化IO,配合retrofit使用注解定义接口。

支持自定义任务调度器维护任务队列来处理同步异步请求,还支持tag取消请求。

支持设置自定义拦截器。

支持重定向。

支持客户端gzip解压缩。

支持文件上传和下载。

支持cookie管理等。

图6、图7、图8为使用httpclient实现的三个开发示例,分别实现了文件上传、图片预览以及网络请求(GET和POST)的功能。

poYBAGJ2PRmAD2waAAVeNnOXx7A139.png图6 文件上传

pYYBAGJ2PS2ANqmzABEXRvK_drg271.png图7 图片预览poYBAGJ2PUGAPF5SAAOmLDD9NBM977.png图8 网络请求

源码下载地址:https://gitee.com/openharmony-tpc/httpclient

除了上面介绍的四个典型组件,还有其他很多组件,比如:功能强大的eTS图表视图库ohos-MPChart,提供丰富多样的选择器的ohos-PickerView等等。更多好用的组件等你去发现哦,下面我们就来看看如何获取这些组件。

三、如何获取开源组件?

开发者可以直接通过OpenHarmony三方组件库(OpenHarmony-TPC)下载源码或从HarmonyOS开发者资源中心(DevEco Marketplace)获取相关组件。

1. OpenHarmony-TPC

OpenHarmony三方组件库(OpenHarmony-TPC)汇总了各类已经开源的三方组件资源。新增的组件带NEW

前缀,开发者可以根据自身需求参考和使用。

pYYBAGJ2PaOANFMaAAHUT6KVLIs458.png

OpenHarmony-TPC地址:https://gitee.com/openharmony-tpc/tpc_resource

2. DevEco Marketplace

HarmonyOS开发者资源中心(DevEco Marketplace),聚合了丰富的OpenHarmony生态开发资源包,方便开发者一站式获取所需资源,轻松完成OpenHarmony智联硬件、原子化服务和应用的开发。开发者可以根据自身需求查询和下载组件。

poYBAGJ2PbuAJYI1AADZfIJb8cM093.png

DevEco Marketplace地址:https://repo.harmonyos.com/#/cn/application/atomService

四、如何使用JS/eTS开源组件?

获取了开源组件后,要如何使用呢?下面就为大家介绍JS/eTS开源组件的使用。

1. 获取组件的scope配置命令和npm命令。

DevEco Marketplace提供了组件的安装命令,下面以此为例来介绍。

(1)在DevEco Marketplace查找需要使用的JS/eTS开源组件。

pYYBAGJ2PgGABQpQAACUXTpZ3JI744.png

(2)点击组件,在“安装”页签中查看scope配置命令和npm命令。

pYYBAGJ2PhiAf18dAADOZ0-54es617.png

2. 在DevEco Studio工具中打开需要引用组件的工程,在Terminal中执行scope配置命令和npm命令。

poYBAGJ2Pi-AXeqsAAC0zxWEvo0906.png

执行以上命令后,工具自动下载和安装组件库。下载和安装完成后,会在工程文件下自动生成node_modules文件夹,组件库就被保存在此文件夹下。

poYBAGJ2Pk-AR5XEAADWGMQcOts667.png

3. 接下来,就可以在代码文件中导入和使用组件了。

pYYBAGJ2PmKAKtB1AAJn81vW0QM225.png

来源:HarmonyOS开发者

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenHarmony
    +关注

    关注

    23

    文章

    3284

    浏览量

    15159
收藏 人收藏

    评论

    相关推荐

    开源框架教程(二)—— iOS APP开发

    如何使用核心模块开发设备控制功能(iOS APP开发)导读:本次教程我们在开源框架代码基础上做一个控制gokit红灯开的App,Wi-Fi设备接入机智云客户端调试工具包括 iOS De
    发表于 11-28 18:14

    机智云开源框架介绍

    /GOpenSource_AppKit_Android_AS 介绍:机智云开源框架(GizOpenSource_AppKit_Android) 是开源的适用于物联网的软件
    发表于 12-27 15:47

    机智云APP开源框架介绍

    的源码实现快速开发,从而缩短app的开发周期短、降低开发成本。此为Eclipse工程。示例如图: 机智云物联网开源框架App(Android
    发表于 02-15 17:56

    JS应用开发框架组件

    JS应用开发框架组件简介目录接口使用相关仓简介JS应用开发框架,是OpenHarmony为开发
    发表于 04-23 18:05

    HarmonyOS组件更新,新增700+开源组件

    开发的脚步永不停歇,在广大组件贡献者的共同努力下,又迎来了第三批组件开源。 一、新增开源组件
    发表于 11-18 11:17

    介绍SPI的使用方法

    写在最前使用RT-Thread Studio开发环境开发STM32单片机程序,与MDK使用env有一定的差别,对于刚开始使用的程序员来说,主要是找不到配置选项在哪里,上一篇介绍了TIM设备的使
    发表于 02-17 06:32

    HarmonyOS方舟开发框架容器类API的介绍与使用

    作者:liuxin,华为高级工程师 容器类,顾名思义就是存储的类,用于存储各种数据类型的元素,并具备一系列处理数据元素的方法。在方舟开发框架中,容器类采用了类似静态的语言来实现,并通
    发表于 03-07 11:40

    94个JS/eTS开源组件首发上新,肯定有你要用的一款!

    /eTS的开发队伍中,我们也收到不少开发者对JS/eTS组件的需求,比如: 在广大组件贡献者的共同努力下,我们又迎来了新一批组件
    发表于 05-09 14:51

    OpenHarmony 3.1 Release版本关键特性解析——ArkUI框架又有哪些新增能力?

    绘制接口使用方法下面介绍一个示例,给大家展示声明式开发范式中 Canvas 组件的基础使用方法。图 3 是三张图片叠加的效果,顶层的图片覆盖
    发表于 05-31 18:05

    OpenHarmony应用开发-ArkUI方舟开发框架简析

    方舟开发框架(简称ArkUI)为OpenHarmony应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动
    发表于 04-23 09:35

    JavaUI框架新增组件开发指南

    Java UI框架是HarmonyOS应用开发中诸多开发者需要关注的重要内容。近期,文档君结合各位开发者反馈的声音和改进建议,对官网文档的Java UI
    的头像 发表于 09-28 10:04 2091次阅读
    JavaUI<b class='flag-5'>框架</b><b class='flag-5'>新增</b><b class='flag-5'>组件</b><b class='flag-5'>开发</b>指南

    HarmonyOS新增开源组件概览

    开发的脚步永不停歇,在广大组件贡献者的共同努力下,又迎来了第三批组件开源。 一、新增开源组件
    的头像 发表于 11-22 10:46 2107次阅读
    HarmonyOS<b class='flag-5'>新增开源</b><b class='flag-5'>组件</b>概览

    方舟开发框架(Ark UI)概述及开发实战

    本期要为大家介绍的是ArkUI入门课程——HarmonyOS技术训练营第四期《方舟开发框架(Ark UI)概述及开发实战》。相信学习完这个课
    的头像 发表于 12-17 14:49 7329次阅读

    方舟开发框架中容器类的各种类型

      容器类,顾名思义就是存储的类,用于存储各种数据类型的元素,并具备一系列处理数据元素的方法。在方舟开发框架中,容器类采用了类似静态语言的方式来实现,并通过NAPI
    的头像 发表于 03-14 13:45 1281次阅读
    <b class='flag-5'>方舟</b><b class='flag-5'>开发</b><b class='flag-5'>框架</b>中容器类的各种类型

    开源三方库】Easyui:基于OpenAtom OpenHarmony ArkUI深度定制的组件框架

    原有组件以及新增部分组件,以满足具体项目的开发需求。该框架适用大部分OpenHarmony应用的开发
    的头像 发表于 11-09 10:55 330次阅读
    【<b class='flag-5'>开源</b>三方库】Easyui:基于OpenAtom OpenHarmony ArkUI深度定制的<b class='flag-5'>组件</b><b class='flag-5'>框架</b>