鸿蒙HarmonyOS三方库推荐

✍️作者简介:小北编程(专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向)
🐳博客主页: 开源中国稀土掘金51cto博客博客园知乎简书慕课网CSDN
🔔如果文章对您有一定的帮助请👉关注✨、点赞👍、收藏📂、评论💬。
🔥如需转载请参考【转载须知】

第三方库众多,但在此我只精选了一些经典之作,希望能为大家提供帮助。不喜勿喷,整理与总结不易,还请点赞👍并收藏📂。如果您有其他推荐,欢迎留言,我会定期更新,并在推荐中署名感谢您的贡献!

一、前言

在现代移动应用开发中,使用第三方库已成为加速开发进程、提升应用功能与稳定性的重要手段。对于基于 HarmonyOS 的应用开发者来说,选择合适的第三方库同样至关重要。HarmonyOS 作为华为推出的新一代分布式操作系统,虽然已经内置了丰富的基础功能,但在一些特定领域或需求场景中,合理引入第三方库能够显著提升开发效率和用户体验。

本指南将为开发者推荐一系列在 HarmonyOS 上经过实践验证的第三方库,涵盖网络请求、数据存储、UI 组件、图形处理等多个领域。这些库不仅能够与 HarmonyOS 的 ArkUI 框架无缝集成,还能充分利用系统的分布式能力和性能优势,为开发者打造更具竞争力的应用提供强大支持。

通过这些第三方库的使用,开发者可以更加专注于业务逻辑的实现,而无需从零构建每一个功能模块。这不仅缩短了开发周期,还减少了潜在的 Bug 风险,使应用更快、更稳地推向市场。希望本指南能为广大 HarmonyOS 开发者提供有价值的参考,助力大家在开发过程中事半功倍。

请添加图片描述

二、三方库

2.1 Axios

Axios ,是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中。本库基于Axios 原库v1.3.4版本进行适配,使其可以运行在 OpenHarmony,并沿用其现有用法和特性。

  • http 请求
  • Promise API
  • request 和 response 拦截器
  • 转换 request 和 response 的 data 数据
  • 自动转换 JSON data 数据

请添加图片描述

库地址:地址Axios: https://gitee.com/openharmony-sig/ohos_axios

2.2 refresh

基于ArkUI封装的上拉下拉刷新组件,支持列表、网格、瀑布流、支持各种任意组件刷新,支持侧滑删除、条目吸顶,下滑二楼等功能。

  • 1、支持ListView列表/下拉刷新/上拉加载
  • 2、支持GridView网格列表/下拉刷新/上拉加载
  • 3、支持StaggeredGridView瀑布流列表/下拉刷新/上拉加载
  • 4、支持自定义刷新头和加载尾
  • 5、支持列表(ListView/GridView/StaggeredGridView)添加头组件
  • 6、支持列表(ListView)侧滑展示按钮,左右均可
  • 7、支持下滑进入二楼/半楼功能(仿京东或淘宝)
  • 8、数据操作(增删改查)提供便捷方式,适应更多场景运用
  • 9、支持页面刷新加载吸顶效果(ListView/GridView/StaggeredGridView)
  • 10、支持默认进入页面自动刷新/手动刷新
  • 11、支持内部缺省页设置(空布局/错误布局)
  • 12、支持ListView条目分组吸顶效果
  • 13、默认刷新头支持三个点旋转效果
  • 14、ListView支持滑动直接删除

库地址:地址refresh: https://github.com/AbnerMing888/HarmonyOsRefresh

2.3 harmony-utils

harmony-utils 一款高效的HarmonyOS工具包,封装了常用工具类,提供一系列简单易用的方法。帮助开发者快速构建鸿蒙应用。常用工具基本都感慨,因为太多本文不写详细的介绍了!

在这里插入图片描述库地址:地址harmony-utils: https://gitee.com/tongyuyan/harmony-utils

2.4 ImageKnife

专门为OpenHarmony打造的一款图像加载缓存库,致力于更高效、更轻便、更简单。

  • 支持自定义内存缓存策略,支持设置内存缓存的大小(默认LRU策略)。
  • 支持磁盘二级缓存,对于下载图片会保存一份至磁盘当中。
  • 支持自定义实现图片获取/网络下载
  • 支持监听网络下载回调进度
  • 继承Image的能力,支持option传入border,设置边框,圆角
  • 继承Image的能力,支持option传入objectFit设置图片缩放,包括objectFit为auto时根据图片自适应高度
  • 支持通过设置transform缩放图片
  • 并发请求数量,支持请求排队队列的优先级
  • 支持生命周期已销毁的图片,不再发起请求
  • 自定义缓存key
  • 自定义http网络请求头
  • 支持writeCacheStrategy控制缓存的存入策略(只存入内存或文件缓存)
  • 支持preLoadCache预加载图片
  • 支持onlyRetrieveFromCache仅用缓存加载
  • 支持使用一个或多个图片变换,如模糊,高亮等

库地址:地址ImageKnife: https://gitee.com/openharmony-tpc/ImageKnife

2.5 zxing

zxing是一个解析/生成一维码/二维码的库。

在这里插入图片描述

在这里插入图片描述

库地址:地址zxing: https://gitee.com/openharmony-tpc/zxing

2.6 ijkplayer

ijkplayer是OpenHarmony环境下可用的一款基于FFmpeg的视频播放器。
这个难度比较高不适合新手。

请添加图片描述

库地址:地址ijkplayer: https://gitee.com/openharmony-sig/ohos_ijkplayer

2.7 pinyin4js

适配了OpenHarmony的一款汉字转拼音的Javascript开源库,包含如下特性:
零依赖
词库灵活导入,打包
可以自行调整字典,具体可以参照src/dict;所有资源调用由PinyinResource封装,可自行修改后打包

准确、完善的字库
Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,pinyin4js能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字

拼音转换速度快
经测试,从4E00-9FA5范围的20902个汉字,pinyin4js耗时约110毫秒

多拼音格式输出支持
支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式

常见多音字识别
支持常见多音字的识别,其中包括词组、成语、地名等

  • 简繁体中文转换
  • 支持添加自定义字典
  • 支持添加用户自定义字典

库地址:库地址 pinyin4js https://gitee.com/openharmony-tpc/pinyin4js

2.8 MQTT

使应用程序能够连接到MQTT代理以发布消息、订阅主题和接收发布的消息。

库地址:地址ohos_mqtt: https://gitee.com/openharmony-tpc/ohos_mqtt

2.9 LoadingDialog

简单易用的 Harmony LoadingDialog

表样式表头
loading
success
failure
info
warn
toast
progress

库地址:地址LoadingDialog: https://gitee.com/lyb5834/loading-dialog

2.10 Bugly

Bugly Harmony 版本,支持Harmony OS Next平台基础异常问题的捕获上报,包含Js异常、Cpp异常、AppFreeze、错误,异常捕获后上报到 Bugly平台。Bugly Harmony SDK 基于Harmony平台arkTs开发,可通过Har包集成方式接入,提供arkTs接口。

💡提醒:
Bugly鸿蒙专业版暂时对业务提供免费开放支持。
只有专业版,暂时对业务提供免费,后期收费

在这里插入图片描述库地址:地址Bugly: https://bugly.tds.qq.com/docs/sdk/harmony/

2.11 eftool

efTool是一个功能丰富且易用的兼容API12的HarmonyOS工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。 这些封装的工具涵盖了字符串、数字、集合、JSON等一系列操作, 可以满足各种不同的开发需求。本人为Java开发,故封装思路借鉴Java的工具类Hutool,同时扩展了HarmonyOS的UI组件。

子模块目录总览:

模块介绍
@yunkss/ef_core (已发布)提供基础工具类,如字符串、正则、身份校验等
@yunkss/ef_json (已发布)提供 JSON 转换相关功能
@yunkss/ef_crypto (已发布)提供加解密相关功能,结果去除 OutDTO
@yunkss/ef_crypto_dto (已发布)提供加解密相关功能,保留结果为 OutDTO
@yunkss/ef_media提供媒体相关功能
@yunkss/ef_device提供设备相关功能
@yunkss/ef_axios (已发布)提供网络请求 efAxios 相关功能
@yunkss/ef_rcp (已发布)提供网络请求 efRcp 相关功能
@yunkss/ef_ui (已发布)提供弹窗、级联、Loading 等 UI 相关功能

库地址:地址eftool: https://gitee.com/yunkss/ef-tool

2.12 logger

Android logger HarmonyOS使用的日志库,具备轻量、美观强大、可扩展的特性。使用API 12,点击可以跳转到源文件
在这里插入图片描述库地址:地址logger: https://gitee.com/zhiyangnie/logger

2.13 banner

本项目是适配OpenHarmony环境的一款banner库,常用于广告图片轮播场景,基于Swiper进行封装,能力如下:

  • 支持自动轮播。
  • 支持无限轮播。
  • 支持垂直轮播。
  • 支持自定义指示器。
  • 支持定制的翻页动画效果,目前动画只支持8种动效,无法做到不同动效叠加。

Swiper组件能力和Banner组件能力对比:

能力列表Swiper组件Banner组件
自动轮播支持支持
无限轮播支持支持
垂直轮播支持支持
自定义指示器部分支持支持
指示器和Banner分离不支持支持
定制翻页动画效果不支持支持

请添加图片描述

库地址:地址banner: https://gitee.com/openharmony-sig/ohos_banner

2.14 Cases

在开发HarmonyOS NEXT应用时,优化应用性能是至关重要的。本文将介绍应用开发过程中常见的一些性能问题,并提供相应的解决方案,配合相关参考示例,帮助开发者解决大部分性能问题。

分层架构设计:将应用划分为产品定制层、基础特性层和公共能力层,可以降低层间的依赖性,从而提升代码的可维护性。应用通用开发范例App分层架构如下:

common_app_development
|---AppScope
|---common    // 公共能力层,包括公共UI组件、数据管理、通信和工具库等
|---feature   // 基础特性层,包含独立的业务模块,如启动页、登录模块、导航栏等
|---libs      // 三方依赖库
|---product   // 产品定制层,作为不同设备或场景应用入口,例如phone、tv等

模块化设计:应用被分解为多个功能模块,其中每个模块负责执行特定的功能。通过模块化设计提高了代码的可理解性和可复用性,使应用的扩展和维护变得更为简便,同时降低了系统各部分之间的耦合度。应用通用开发范例App模块化结构如下:

common_app_development
|---AppScope
|---common                                // 公共能力层
|   |---utils     
|   |   |---component                     // 公共布局,如功能介绍布局
|   |   |---log                           // 日志打印 
|---feature                               // 基础特性层
|   |---addressexchange                   // 地址交换动画案例
|   |---akiusepractice                    // AKI使用实践
|   |---applicationexception              // 应用异常处理案例
|   |---barchart                          // MpChart图表实现案例
|   |---customtabbar                      // 自定义TabBar页签 案例
|   |---eventpropagation                  // 阻塞事件冒泡案例
|   |---fitfordarkmode                    // 深色模式适配案例
|   |---functionalscenes                  // 主页瀑布流实现 
|   |---gbktranscoding                    // Axios获取网络GBK数据转换UTF-8网络数据
|   |---handletabs                        // Tab组件实现增删Tab标签案例
|   |---imageviewer                       // 图片预览方案
|   |---marquee                           // 跑马灯案例
|   |---modalwindow                       // 全屏登录页面案例
|   |---nativeprogressnotify              // Native侧进度通知到ArkTS
|   |---nativerawfile                     // Native读取Rawfile中文件部分内容
|   |---navigationparametertransfer       // Navigation页面跳转对象传递案例
|   |---pageturninganimation              // 翻页动效案例
|   |---pendingitems                      // 列表编辑实现案例
|   |---photopickandsave                  // 图片选择和下载保存案例
|   |---pulltorefreshnews                 // 下拉刷新与上滑加载案例
|   |---secondarylinkage                  // 二级联动实现案例
|   |---slidetohideanddisplace            // 滑动页面信息隐藏与组件位移效果案例
|   |---variablewatch                     // 多层嵌套类对象监听案例
|   |---verifycode                        // 验证码布局
|   |---vibrateeffect                     // 基础特性层-抖动动画及手机振动效果
|   |---customcalendarpickerdialog        // 基础特性层-自定义日历选择器
|   |---navigationbarchange               // 基础特性层-状态栏显隐变化案例
|   |---customview                        // 基础特性层-自定义视图实现Tab效果
|   |---waterripples                      // 基础特性层-听歌识曲水波纹特效案例
|   |---citysearch                        // 城市选择案例
|   |---componentstack                    // 滚动吸顶效果实现案例
|   |---dragandexchange                   // Grid和List内拖拽交换子组件位置案例
|   |---foldablescreencases               // 折叠屏音乐播放器案例
|   |---imagecomment                      // 发布图片评论案例
|   |---mediafullscreen                   // 视频全屏切换案例
|   |---swipercomponent                   // 多层级轮播图案例
|   |---swipersmoothvariation             // Swiper高度可变化效果案例
|   |---decompressfile                    // Worker子线程中解压文件案例
|   |---paintcomponent                    // 使用绘制组件实现自定义进度动画案例
|   |---lottieview                        // Lottie
|   |---imagecompression                  // 图片压缩方案
|   |---votingcomponent                   // 投票组件
|   |---webgetcameraimage                 // WebView拉起原生相机案例
|   |---sidebaranimation                  // SideBarContainer侧边栏淡入淡出动效实现案例
|   |---imageenableanalyzer               // 图片拖拽AI抠图案例
|   |---indicatorbelowswiper              // swiper指示器导航点位于swiper下方
|   |---bigfilecopy                       // 大文件拷贝案例
|   |---diggingholescreen                 // 适配挖孔屏案例
|   |---dragtoswitchpictures              // 左右拖动切换图片效果案例
|   |---listitemoverflow                  // 元素超出List区域
|   |---multiplefilesdownload             // 多文件下载监听案例
|   |---searchcomponent                   // 搜索页一镜到底案例
|   |---dynamicattributes                 // 跨文件样式复用和组件复用
|   |---etswrapper                        // NAPI封装ArkTS接口案例
|   |---handwritingtoimage                // 手写绘制及保存图片
|   |---multimodaltransion                // 多模态页面转场动效实现案例
|   |---nativeembed                       // ArkWeb同层渲染
|   |---sideslipintercept                 // 侧滑返回事件拦截案例
|   |---webpdfviewer                      // Web组件预览PDF文件实现案例
|   |---listslidetohistory                // 长列表滑动到指定列表项动效实现案例
|   |---imagetheft                        // 正确配置ImageKnife请求头实现防盗链功能
|   |---componentinstancesharedinpages    // 页面间共享组件实例的案例
|   |---fontdynamicregistration           // 动态注册字体案例
|   |---effectKit                         // 使用colorPicker实现背景跟随主题颜色转换
|   |---cardswiperanimation               // 自定义Swiper卡片预览效果实现
|   |---customscan                        // 折叠屏扫描二维码方案
|   |---imagedepthcopy                    // PixelMap深拷贝案例
|   |---pageflip                          // 阅读翻页方式案例
|   |---videocache                        // 边缓存边播放案例
|   |---iconmaincolor                     // 根据icon自适应背景颜色
|   |---bottomdrawerslidecase             // 底部抽屉滑动效果案例
|   |---chinesetopinyin                   // 汉字转拼音案例
|   |---customsafekeyboard                // 自定义安全键盘案例
|   |---nativesavepictosandbox            // Native保存图片到应用沙箱
|   |---shortvideo                        // 短视频切换实现案例
|   |---digitalscrollanimation            // 数字滚动动效实现
|   |---expandtitle                       // 标题下拉缩放案例
|   |---pageloading                       // 页面加载效果实现案例
|   |---databaseupgrade                   // 数据库版本升级案例
|   |---hilogmonitormanagement            // 监听HiLog日志实现测试用例验证
|   |---transitionanimation               // 一镜到底“页面转场”动画
|   |---imagegridlayout                   // 图片九宫格封装案例
|   |---highlightguide                    // 应用新功能引导实现案例
|   |---wordrecognition                   // 文字识别案例
|   |---bottompanelslide                  // 底部面板嵌套列表滑动案例
|   |---danmakuplayer                     // 视频弹幕功能
|   |---listexchange                      // 列表项交换案例
|   |---tabcontentoverflow                // tabContent内容可以在tabBar上显示并响应滑动事件案例
|   |---chatwithexpression                // 表情聊天案例
|   |---floatwindow                       // 悬浮窗拖拽和吸附动画
|   |---gridexchange                      // 网格元素交换案例
|   |---miniplayeranimation               // 音乐播放转场一镜到底效果实现
|   |---refreshtimeline                   // 下拉展开图片和时间轴效果实现案例
|   |---webpagesnapshot                   // Web页面长截图
|   |---naviagtioninterceptor             // Navigation路由拦截案例
|   |---blendmode                         // 图片混合案例
|   |---secondfloorloadanimation          // 首页下拉进入二楼效果案例
|   |---styledtext                        // Text实现部分文本高亮和超链接样式
|   |---navigationinterceptor             // Navigation路由拦截案例
|   |---customdialog                      // 全局弹窗封装案例
|   |---textexpand                        // 文字展开收起案例
|   |---imageresizable                    // 边框或背景图片拉伸案例
|   |---watermark                         // 水印案例
|   |---textoverflow                      // textOverflow长文本省略
|   |---fadingedge                        // 边缘渐变实现
|   |---customstepper                     // 自定义Stepper
|   |---searchswiper                      // 搜索框热搜词自动滚动
|   |---perfermance  
|   |   |---highlyloadedcomponentrender   // 合理处理高负载组件的渲染文章示例代码
|   |   |---customreusablepool            // 自定义组件复用池文章示例代码
|   |   |---operaterdbintaskpool          // 在TaskPool线程中操作关系型数据库实现案例
|   |---videolinkagelist                  // 视频卡片和列表区域的联动滚动
|   |---navdestinationdialog              // NavDestination弹窗
|   |---customkeyboardtoh5                // H5页面调用自定义输入法案例
|   |---sendmessage                       // 发短信案例
|   |---skeletondiagram                   // 骨架屏案例
|   |---palette                           // 画笔调色板案例
|   |---imagemosaic                       // 图片编辑实现马赛克效果
|---libs
|---product 
|   |---entry                             // 产品定制层-应用入口

请添加图片描述库地址:强烈推荐 点击查看我的这遍文章Cases相当于将大部分的案例整理成一个合集里面什么都有

2.15 upload

基于七牛 API 开发的前端 JavaScript SDK

Qiniu-JavaScript-SDK (下文简称为 JS-SDK)适用于 :IE11、Edge、Chrome、Firefox、Safari 等浏览器,基于七牛云存储官方 API 构建,其中上传功能基于 H5 File API。开发者基于 JS-SDK 可以方便的从浏览器端上传文件至七牛云存储,并对上传成功后的图片进行丰富的数据处理操作。 JS-SDK 兼容支持 H5 File API 的浏览器,在低版本浏览器下,需要额外的插件如 plupload,JS-SDK 提供了一些接口可以结合插件来进行上传工作,注意:(在低版本浏览器需要引入 babel-polyfill 来解决 SDK 里某些语法或者属性浏览器不能识别的问题)。

  • 上传
    1.1 大于 4M 时可分块上传,小于 4M 时直传
    1.2 分块上传时,支持断点续传
  • 数据处理(图片)
    2.1 imageView2(缩略图)
    2.2 imageMogr2(高级处理,包含缩放、裁剪、旋转等)
    2.3 imageInfo (获取基本信息)
    2.4 exif (获取图片 EXIF 信息)
    2.5 watermark (文字、图片水印)
    2.6 pipeline (管道,可对 imageView2、imageMogr2、watermark 进行链式处理)

库地址:地址upload: https://github.com/qiniu/js-sdk

2.16 retrofit

如果Android用习惯的网络请求可以试试retrofit

Decorators:

接口名参数返回值说明
@GETvoidGET HTTP 方法装饰器
@POSTvoidPOST HTTP 方法装饰器
@PUTvoidPUT HTTP 方法装饰器
@DELETEvoidDELETE HTTP 方法装饰器
@HEADvoidHEAD HTTP 方法装饰器
@OPTIONSvoidOPTIONS HTTP 方法装饰器
@BasePathvoid用于追加基本路径的 BasePath 装饰器
@PathvoidPath 装饰器(Path 注解由于和系统组件 Path 重名,会导致项目编译失败,所以在入口文件 index.ets 里面需要通过 Path as UrlPath 重命名 PathUrlPath
@Bodyvoid用于解析请求体的 Body 装饰器
@Headersvoid设置请求头的 Headers 装饰器
@Headervoid设置单个请求头的 Header 装饰器
@HeaderMapvoidHeaderMap 装饰器,用于将 Header 设置为 map 对象
@Queriesvoid用于设置 query 列表的装饰器
@Queryvoid用于设置单个 query 的装饰器
@QueryMapvoid用于在 map 中设置 query 的装饰器
@FormUrlEncodedvoidFormUrlEncoded 装饰器,用于启用 formurlencoding
@FieldvoidField 装饰器,用于为 POST 方法设置 Field
@FieldMapvoidFieldMap 装饰器,用于使用 map 对象设置 Field
@TimeoutvoidTimeout 装饰器,用于设置请求超时

库地址:地址retrofit: https://gitee.com/openharmony-tpc/retrofit

2.17 TabLayout

专门为OpenHarmony打造的一款TabLayout库,希望各位用得开心
请添加图片描述

库地址:地址TabLayout: https://gitee.com/AlbertZyc/tab-layout/

2.18 BasicLibrary

BasicLibrary是一些常用的鸿蒙 UI组件和一些实用工具类封装,提高鸿蒙的开发效率

库地址:地址BasicLibrary: https://gitee.com/peakmain/basic-library#https://gitee.com/peakmain/basic-library/wikis/pages?sort_id=11516793&doc_id=5806301

2.19 custom_navtion

ohpm_king_custom_navtion是一个自定义导航栏的组件 功能丰富且易用的兼容最新API12
小众但是有需求的可以抽取出来使用

在这里插入图片描述

库地址:地址custom_navtion: https://gitee.com/mrwang0515/custom_navtion

2.20 SpinKit

SpinKit 是一个适用于OpenHarmony/HarmonyOS的加载动画库
在这里插入图片描述库地址:地址SpinKit: https://gitee.com/tongyuyan/spinkit

2.21 FilterBar

FilterBar是一款OpenHarmony环境下可用的筛选组件,使用频次很高。 支持单列、双列、单选、双选,使用者可根据自己需求配置。

网格多选网格单选列表双列表

在这里插入图片描述

库地址:地址custom_navtion: https://gitee.com/ethan-coder/filterbar

2.22 ohos_smart_dialog

强大的SmartDialog

  • 单次初始化后即可使用,无需多处配置相关Component
  • 优雅,极简的用法
  • 非UI区域内使用,自定义Component
  • 返回事件处理,优化的跨页面交互
  • 多弹窗能力,多位置弹窗:上下左右中间
  • 定位弹窗:自动定位目标Component
  • 极简用法的loading弹窗

库地址:地址ohos_smart_dialog: https://github.com/xdd666t/ohos_smart_dialog

2.23 Dialog

HarmonyOsDialog是一个便捷的弹窗,一行代码便可以搞定,无须初始化,便在任何地方都可以弹出,Dialog中也封装了包含常见的弹窗样式,并且支持自定义组件形式。

目前功能项:

  • 1、支持自定义组件弹窗形式
  • 2、支持信息弹窗样式
  • 3、支持确认/取消弹窗样式
  • 4、支持底部列表弹窗(可动态修改样式)
  • 5、支持底部网格列表形式(如常见的分享)
  • 6、支持城市地址选择
  • 7、支持各种时间格式选择
  • 8、支持Toast提示,可任意修改属性,可设置图片,支持左上右下四个方位设置
  • 9、支持任意位置弹出
  • 10、支持PopupWindow弹出,可在组件的任何位置

在这里插入图片描述库地址:地址Dialog: https://github.com/AbnerMing888/HarmonyOsDialog

2.24 router

这是一个鸿蒙系统增强路由组件,使得您可以更容易、方便地使用路由组件进行页面跳转导航。
与系统自带路由组件对比,该增强版组件支持无需import即可访问的命名路由、隐式跨Hsp路由等。
且支持路由别名、正则匹配等特色功能。

详见下表:

跳转方式功能点@ohos/router@easy/router
pushUrlHap 内
跨 Hsp⭕️ [1]
pushNamedRouteHap 内 (imported)
Hap 内 (un_imported)
跨 Hsp (imported)
跨 Hsp (un_imported)
跨 Har (imported)
跨 Har (un_imported)
特色功能路由别名✅ [2]
正则匹配路由✅ [3]
命名路由转 Url
代码解耦
获取完整路由表信息⭕️ [4]
动态 import 特性❌ [5]
后退指定步
以谓词模式决定后退到哪
先后退再跳转

备注:

  1. ⭕️ [1]: 仅在特定情况下支持。
  2. ✅ [2]: 支持路由别名。
  3. ✅ [3]: 支持正则匹配路由。
  4. ⭕️ [4]: 可能不完全支持,取决于具体实现。
  5. ❌ [5]: 无动态 import 特性。

在这里插入图片描述
库地址:地址router: https://atomgit.com/easy-org/router

2.25 like_button

Like Button 支持推特点赞效果和点赞数量动画的 ArkUI 库.

配置参数:

参数类型描述
likeWidgetSizenumberLikeWidget 的大小 (默认 30)
bubblesSizenumber动画时候的泡泡的大小 (默认为 likeWidgetSize 的 2 倍)
bubblesColorBubblesColor动画时候的泡泡的颜色,可以分别设置 4 种 (默认为 dotPrimaryColor: ‘#FFFFC107’, dotSecondaryColor: ‘#FFFF9800’, dotThirdColor: ‘#FFFF5722’, dotLastColor: ‘#FFF44336’)
circleSizenumber动画时候的圈的最大大小 (默认为 likeWidgetSize 的 0.8 倍)
circleColorBubblesColor动画时候的圈的颜色,需要设置 2 种 (默认为 start: ‘#FFFF5722’, end: ‘#FFFFC107’)
isLikedboolean是否喜欢 (默认 false)
animationDurationnumberLikeWidget 动画时长 (默认 1000 毫秒)
likeCountnumber喜欢数量。如果不设置(undefined),不显示 LikeCountWidget
flexOptionsFlexOptionsLikeWidget 和 LikeCountWidget 2 个组件位置的配置 (默认为 direction: FlexDirection.Row, justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center)
likeCountAnimationTypeLikeCountAnimationType喜欢数量动画的类型 (none, part, all)。无动画;只动画改变的部分;全部部分
widgetsMarginnumberLikeWidget 和 LikeCountWidget 的距离
likeCountAnimationDurationnumberLikeCountWidget 动画时长 (默认 1000 毫秒)
controllerController可以通过调用 Controller 的 Tap 方法执行动画

在这里插入图片描述
库地址:地址like_button: https://github.com/HarmonyCandies/like_button

2.26 drivers_hdf_core

该仓主要存放OpenHarmony驱动子系统核心源码信息(包括驱动框架、配置管理、配置解析、驱动通用框架模型、硬件通用平台能力接口等),旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。
进阶-----喜欢玩底层的可以看看好东西!

目录:

/drivers/hdf_core/framework
├── core           #实现驱动框架的核心代码
│   ├── adapter    #实现对内核操作接口适配,提供抽象化的接口供开发者使用
│   ├── common     #驱动框架公共基础代码
│   ├── host       #驱动宿主环境模块
│   ├── manager    #驱动框架管理模块
│   └── shared     #host和manager共享模块代码
├── include        #驱动框架对外提供能力的头文件
│   ├── audio      #AUDIO对外提供能力的头文件
│   ├── bluetooth  #蓝牙对外提供能力的头文件
│   ├── core       #驱动框架对外提供的头文件
│   ├── ethernnet  #以太网操作相关的头文件
│   ├── net        #网络数据操作相关的头文件
│   ├── osal       #系统适配相关接口的头文件
│   ├── platform   #平台设备相关接口的头文件
│   ├── utils      #驱动框架公共能力的头文件
│   └── wifi       #WLAN对外提供能力的头文件
├── model          #提供驱动通用框架模型
│   ├── audio      #AUDIO框架模型
│   ├── display    #显示框架模型
│   ├── input      #输入框架模型
│   ├── misc       #杂项设备框架模型,包括dsoftbus、light、vibrator
│   ├── network    #WLAN框架模型
│   └── sensor     #Sensor驱动模型
│   └── storage    #存储驱动模型
│   └── usb        #USB驱动模型
├── sample         #HCS配置描述示例及HDF驱动示例
├── support        #提系统的基础能力 
│   └── platform   #平台设备驱动框架及访问接口,范围包括GPIOI2CSPI等
│   └── posix      #posix框架及访问接口,范围包括MemMutexSemSpinlockThreadTime等
├── test           #测试用例
├── tools          #hdf框架工具相关的源码
│   └── hc-gen     #配置管理工具源码
│   └── hcs-view   #
│   └── hdf-dbg    #
│   └── hdf-dev_eco_tool #
│   └── hdf-gen    #
│   └── idl-gen    #
│   └── leagecy    #
└── utils          #提供基础数据结构和算法等

驱动框架架构图:
在这里插入图片描述

库地址:地址drivers_hdf_core: https://gitee.com/openharmony/drivers_hdf_core

👍 点赞,是我创作的动力!
⭐️ 收藏,是我努力的指引!
✏️ 评论,是我进步的宝藏!
💖 衷心感谢你的阅读以及支持!

请添加图片描述请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小北编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值