当前位置:首页 > 科技  > 软件

React 跨平台开发指日可待!

来源: 责编: 时间:2024-02-29 14:42:56 131观看
导读最近,Meta 开源了一个项目:React Strict DOM,在一周的时间新增了超过 2200 Star。其官方介绍如下:React Strict DOM(RSD)是 React DOM 和 StyleX 的实验性集成,旨在改进和标准化 Web 和原生平台的 React 组件的开发。RSD 的

Jgw28资讯网——每日最新资讯28at.com

最近,Meta 开源了一个项目:React Strict DOM,在一周的时间新增了超过 2200 Star。其官方介绍如下:Jgw28资讯网——每日最新资讯28at.com

React Strict DOM(RSD)是 React DOM 和 StyleX 的实验性集成,旨在改进和标准化 Web 和原生平台的 React 组件的开发。RSD 的目标是提高React开发的速度和效率,同时不牺牲性能、可靠性或质量。使用 RSD 进行构建有助于 Meta 的团队更快地向更多平台发布功能,同时减少工程师的数量。Jgw28资讯网——每日最新资讯28at.com

这么说可能有点抽象,下面就来了解一下这个库出现的背景以及解决了什么问题。Jgw28资讯网——每日最新资讯28at.com

背景

React DOM对于创建网站非常有用,因为它让开发者能够使用React。它作为一种工具,提供了DOM特定的方法,这些方法可以在Web应用的顶层使用,从而实现在 React 应用中高效地管理DOM元素。然而,当开发者希望将Web应用的出色功能和无缝体验扩展到移动设备时,会遇到一些挑战。问题在于,React DOM 并不天然地适应原生环境。因此,开发者通常需要为移动设备创建一个使用 React Native 的应用版本,这是专为移动平台设计的。Jgw28资讯网——每日最新资讯28at.com

这种做法实际上增加了开发者的工作量。他们不仅需要学习和管理两个不同的系统(React DOM用于Web,React Native用于移动端),还需确保两个版本的应用都能良好运行,并为用户提供一致的体验,无论用户使用的是哪种设备。在某些情况下,这一过程可能变得耗时、复杂且易于出错,从而增加了跨平台维护和更新应用的难度。Jgw28资讯网——每日最新资讯28at.com

当使用 React Native 开发 Web 应用时,现有的解决方案是借助 React Native for Web。React Native for Web 是一个基于 React DOM 和原生 DOM API 的用户空间库,它在 Web 上模拟了 React Native 的组件和API。对于现有的React DOM应用,工具会将 'react-native' 的导出简单地映射到 'react-native-web',但它给人的感觉就像是将一个平台硬塞进另一个平台。Jgw28资讯网——每日最新资讯28at.com

Jgw28资讯网——每日最新资讯28at.com

目标

想象一下,如果你只需编写一次应用,它就能在各种平台上无缝运行,这将是一个多么好的愿景。这正是 React Strict DOM(简称RSD)所努力实现的目标。Jgw28资讯网——每日最新资讯28at.com

在 React 领域,我们通常需要为网站使用 React DOM,而为原生平台(如 iOS、Android、MacOS、Windows、TVOs、VisionOs、Skia 等)则使用 React Native。这种区分增加了开发的复杂性,有时甚至带来挑战。RSD 作为一种解决方案,旨在简化这一流程,让我们能够更轻松地构建应用,而无需担心目标平台。Jgw28资讯网——每日最新资讯28at.com

RSD 致力于消除跨平台开发的障碍,使开发者能够专注于创造出色的用户体验,而不是处理与平台相关的繁琐细节。它有望成为 React 开发者的得力助手,助力实现跨平台开发的效率和便利。Jgw28资讯网——每日最新资讯28at.com

注意:目前 React Strict DOM 仍处于试验阶段,尚未达到在生产中使用的条件。不过,Meta 已经在实际生产中开始使用 React Strict DOM 了。Jgw28资讯网——每日最新资讯28at.com

实现

React Strict DOM 的核心理念在于不仅减轻开发者的负担,而且致力于提高React应用跨平台的一致性和可靠性。通过统一组件和API的行为标准,RSD确保应用程序无论运行在哪个平台上,其行为都是可预测和一致的。这与当前情况相比是一个显著的进步,因为 React DOM 和 React Native 之间的差异可能会引发跨平台应用中的错误和不一致。Jgw28资讯网——每日最新资讯28at.com

此外,RSD与Meta的CSS-in-JS库StyleX紧密集成,为开发者提供了一个统一的、跨平台的样式解决方案。这种集成允许开发者使用熟悉的CSS类语法为应用程序设置样式,同时享受StyleX提供的卓越性能和安全性。Jgw28资讯网——每日最新资讯28at.com

React Strict DOM 的前提是存在一个通用的DOM库,可以支持Web、iOS、Android(以及未来可能支持更多平台)。元素 API 基于Web,因为它的语法非常类似于 HTML:Jgw28资讯网——每日最新资讯28at.com

import { css, html } from 'react-strict-dom';import { LogBox } from 'react-native';LogBox.ignoreLogs(['Failed prop type'])const styles = css.create({  container: {    display: 'flex',    flex: 1,    flexDirection: 'column',    justifyContent: 'center',    alignItems: 'center',    borderTopWidth: 1  },  h1: { padding: 10 },  button: {    borderRadius: 20,    backgroundColor: '#700fad',    padding: 10,    paddingLeft: 50,    paddingRight: 50  },  buttonText: {     color: 'white',    position: 'relative',    fontWeight: 'bold'  }});export default function App() {  return (    <html.div style={styles.container}>      <html.h1 style={styles.h1}>Hello World</html.h1>      <html.button        style={styles.button}        onClick={() => alert('Hello World')}      >        <html.p          style={styles.buttonText}        >          Click me        </html.p>      </html.button>    </html.div>  );}

React Strict DOM 包含的标签如下:Jgw28资讯网——每日最新资讯28at.com

const elements = {  article: View,  aside: View,  blockquote: Text,  br: Text,  button: Pressable,  code: Text,  div: View,  em: Text,  fieldset: View,  footer: View,  form: View,  header: View,  h1: Text,  h2: Text,  h3: Text,  h4: Text,  h5: Text,  h6: Text,  img: Image,  input: TextInput,  main: View,  nav: View,  ol: View,  p: Text,  pre: Text,  section: View,  strong: Text,  sub: Text,  sup: Text,  textarea: TextInput,  ul: View};

小结

React Strict DOM 作为一种实验性但前景光明的解决方案,致力于简化跨平台 React 应用的开发过程,可能会极大地改变我们未来对通用应用开发的理解。通过解决与React DOM相关的根本问题,并利用统一开发方法的优势,RSD有望显著提升开发者的生产力,并确保应用具备更高的一致性,期待 React Strict DOM 未来的表现!Jgw28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-75336-0.htmlReact 跨平台开发指日可待!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 使用原生cookieStore方法,让Cookie操作更简单

下一篇: 五个2024年最值得尝试的PyCharm插件

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 石头自清洁扫拖机器人G10S评测:多年黑科技集大成之作 懒人终极福音

    石头自清洁扫拖机器人G10S评测:多年黑科技集大成之作 懒人终极福音

    科技圈经常能看到一个词叫“缝合怪”,用来形容那些把好多功能或者外观结合在一起的产品,通常这样的词是贬义词,但如果真的是产品缝合的好、缝合的实用的话,那它就成了中性词,今
  • 十个简单但很有用的Python装饰器

    十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 一文搞定Java NIO,以及各种奇葩流

    一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 零售大模型“干中学”,攀爬数字化珠峰

    零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 新电商三兄弟,“抖快红”成团!

    新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的&ldquo;新电商三兄弟&rdquo;成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的&ldquo;征求意见版&rdquo;:1、取消P序列
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
Top
Baidu
map