首页 > 其他分享 >RN/H5多设备自适应组件库来了,高效实现鸿蒙原生应用多设备精致体验

RN/H5多设备自适应组件库来了,高效实现鸿蒙原生应用多设备精致体验

时间:2025-01-14 11:10:58浏览次数:1  
标签:适配 H5 开发者 组件 RN 库来 设备

在原生鸿蒙应用开发中,华为针对ArkUI框架推出了一整套针对多设备适配的完善能力(如“一多”能力)以及高阶组件(如分栏、边看边评等),帮助开发者轻松实现“一次开发,多端部署”。然而,当前鸿蒙生态仍存在大量用跨平台框架开发的应用,部分页面采用React Native(RN)和H5等框架开发,这些框架在系统级的多设备适配能力上相对有限,导致在折叠机、平板等设备上的适配效率不如ArkUI框架高效,从而影响了应用在不同设备上的体验一致性。

为了解决这一问题,华为2D场景化解决方案团队面向RN/H5多设备适配场景,推出了一系列自适应组件库、sample等开发者场景化解决方案。该方案在RN、H5等框架上提供了接近原生多设备适配的断点机制和高阶UI组件库,帮助RN、H5应用的开发者更高效地进行多设备适配,为折叠屏、平板等多种设备的消费者带来精心打磨的精致体验。

针对基于H5框架的开发者,华为提供了包括断点能力封装和H5多设备组件在内的多设备适配方案。其中断点能力封装可根据屏幕尺寸将屏幕类型分为xs、sm、md、lg、xl、xxl六种,开发者可以通过预置的断点hook,根据不同屏幕类型调整页面内容。H5多设备组件则包括类挪移布局组件、页签栏组件、网格自适应布局组件等。这些组件采用Web Component技术开发,能够快速适配到Vue2、Vue3、React等多种Web框架,帮助开发者高效实现多设备布局适配。

图片 1.png

针对RN框架的开发者,华为不仅提供了断点能力封装,还带来了针对折叠屏的自适应高阶组件以及获取折叠屏折痕区域、折叠状态、设备是否可折叠等API接口,使开发者能够高效应对各种设备的布局适配需求。

图片 2.png

RN/H5多设备/自适应组件库的推出,对鸿蒙原生应用开发意义重大。首先,它解决了鸿蒙原生应用在混合开发页面上多设备体验割裂的问题。有了这些组件库,无论是原生页面还是基于RN和H5等用跨平台框架的混合开发页面,开发者都可以通过它高效实现一致的多设备响应式体验,从而开发出更精致的、适配多设备的鸿蒙原生应用。

其次,通过预置的断点机制和自适应组件,开发者无需从头编写复杂的多设备适配代码,大大减少了开发成本和学习成本,尤其是在适配折叠屏、平板等多种设备时,开发者可以更加高效地完成布局调整。

目前这两款组件库都已开源到开源鸿蒙社区(OpenHarmony社区)并上线Gitee平台,欢迎广大开发者到Gitee平台或开源鸿蒙社区直接搜索rn_multidevice_layout_scenepkg(RN多设备组件库)和web_adaptive_ui(H5多设备组件库)下载使用。未来华为将持续不断优化和扩展组件库的能力,欢迎广大开发者参与共建并提出需求和建议,共同推动鸿蒙生态的繁荣发展!

组件库链接:

RN多设备适配:https://gitee.com/openharmony-sig/rn_multidevice_layout_scenepkg

H5多设备适配:https://gitee.com/openharmony-sig/web_adaptive_ui

标签:适配,H5,开发者,组件,RN,库来,设备
From: https://www.cnblogs.com/1zhang/p/18670380

相关文章

  • UsernamePasswordAuthenticationToken 类的构造器逻辑,来控制 isAuthenticated 的默认
    publicclassUsernamePasswordAuthenticationTokenextendsAbstractAuthenticationToken{privatefinalObjectprincipal;privateObjectcredentials;//构造器1:未认证时调用publicUsernamePasswordAuthenticationToken(Objectprincipal,Objectcredent......
  • 单例模式(Singleton Pattern)——游戏开发常用设计模式(一)
    前言单例模式应该是在unity游戏开发中最简单最常用的设计模式之一,无论是管理全局游戏状态、处理资源加载,还是控制音频播放,单例模式都能为我们提供一个简洁的解决方案——确保一个类只有一个实例,并允许在游戏的任何地方轻松访问它。然而,这种便利性也伴随着潜在的风险,比如代码耦合......
  • kubernetes上安装kubesphere
    准备工作需要配置三台虚拟机关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld临时关闭selinuxsetenforce0永久关闭selinuxvi/etc/selinux/config安装dockerrpm-qa|grepdockeryumremovedocker*-yrpm-qa|grepdockeryuminst......
  • 如何解决Webview和H5缓存问题,确保每次加载最新版本的资源
    WebView用于加载H5页面是常见的做法,它能够加载远程的HTML、CSS、JavaScript资源,并且让Web应用嵌入到原生App中。然而,WebView的缓存机制有时会导致用户看到的是旧版本的页面或资源,尤其是在H5发版后,iOS端用户可能仍然加载到缓存的旧页面,造成了不一致的体验。本篇文......
  • 在try中加return还会执行finally么
    在日志中很清晰的表现了,先执行try的日志,再执行finally内的日志,最后打印try中return的返回值为什么return没有拦截finally呢?try块中的返回操作:return指令会将返回值准备好。但是返回值并不会立刻返回,而是先将当前栈帧(包含try代码块中计算的返回值)保存。执行finally......
  • Python seaborn和matplotlib,怎么选?
    最近,一些小伙伴留言询问seaborn和matplotlib怎么选,还是两个都要学?本文详细回答以下问题:seaborn和matplotlib是什么?seaborn和matplotlib的优劣势?seaborn和matplotlib怎么选?seaborn和matplotlib怎么学?seaborn和matplotlib是什么?seaborn和matplotlib是Python可视化方向最优秀......
  • 【AI游戏】使用强化学习玩 Flappy Bird:从零实现 Q-Learning 算法(附完整资源)
    1. 引言FlappyBird是一款经典的休闲游戏,玩家需要控制小鸟穿过管道,避免碰撞。虽然游戏规则简单,但实现一个AI来自动玩FlappyBird却是一个有趣的挑战。本文将介绍如何使用 Q-Learning 强化学习算法来训练一个AI,使其能够自动玩FlappyBird。我们将从游戏的基本框架开......
  • 在Windows上调试iOS Safari中的H5页面
    本次开发的web页面需要适配移动端,第一个版本在发布到线上,发现ios设备一直打不开网页,无论是自带的safari浏览器还是其他浏览器,页面经常出现“***页面重复出现错误”,但是在本地以及使用PC浏览器模拟都没有复现该问题。为了进行线上的调试查询了一下如何在windows上调试ios的浏览器we......
  • 解决 Git SSL 连接错误:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno
    问题描述在执行gitpull命令时遇到以下错误:>gitpull--tagsoriginmainfatal:unabletoaccess'对应github仓库':OpenSSLSSL_read:SSL_ERROR_SYSCALL,errno0这个错误通常表示Git在尝试通过HTTPS连接到GitHub时遇到了SSL连接问题。解决方案1.检查网络......
  • 书生大模型实战营L2G4000 - InternVL 部署微调实践
    1.多模态大模型的工作原理和设计模式1.1工作原理多模态大模型的工作原理基于深度学习技术,旨在通过处理和融合多种模态数据(如文本、图像、音频、视频等)来实现更全面的理解和生成能力。以下是其工作原理的核心要点:1.数据预处理与编码数据预处理:不同模态的数据需要特定的预......