React与React Native的异同

这篇具有很好参考价值的文章主要介绍了React与React Native的异同。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开发React一段时间了,一直没有搞清楚React和React Native的差异。今天特意去了解下,发现差异还真不小!

相同点:

1.都是Facebook公司推出的框架。

2.都是基于JSX语言开发的。

差异点:

1、作用的平台不同.

2、工作原理不同.

3、渲染周期不同.

4、组件构成形式不同.

5、宿主平台的API不同.

1、作用的平台不同

React,其实准确的说应该是React Web.是基于Web开发的一个框架。具体来说,就是在PC电脑上以浏览器为渲染平台。

React Native,简称(RN), 是在React基础上衍生出来的。是基于移动平台(iOS和Android)的框架。主要适配于手机端页面。

2、工作原理不同

学React,第一个要明白的概念就是虚拟DOM(是介于真实DOM与Web页面之间的联系)。主要作用是提供渲染的性能(通过Diff差异,减少刷新次数)。Facebook在React框架上,创新之一就是引入虚拟DOM,提高了系统性能。

React Native的工作原理,就是调用原生API去渲染界面。具体就是使用Objective-C的API去渲染iOS组件,或者使用Java API去渲染Android组件。在这里就没有DOM的概念,而是桥接原生组件。

React组件通过render方法返回了描述界面的标记代码。React最终把标记代码解析成浏览器的DOM;

而在React Native中,标记代码会解析成特定平台的组件,如<View>会表现成iOS平台上的UIView。

3、渲染周期不同

React的渲染周期开始于react组件挂载到DOM之后,接着React进入渲染周期并根据需要渲染组件。在渲染阶段,React将开发者在return中返回的HTML标记直接按需渲染到页面上。

React Native 在渲染上直接依赖于桥接,所以可以不在UI主线程运行,它可以在不影响用户体验的前提下执行异步操作。

4、组件构成形式不同。

React,主要是使用JSX进行开发,最终会转变成JavaScript语言和HTML元素。在界面上以普通的HTML元素进行渲染。所以React,归根结底就是HTML元素的渲染。

React Native,所有元素都会被平台指定的React组件替换,例如在iOS中,<View>组件被渲染成UIView,而在Android平台,会被渲染成View。所以React Native就是平台组件的渲染。

5、宿主平台API不同

在React中,通常要处理浏览器标准的不一致和碎片化所引起的问题。通俗地讲:就是浏览器兼容性问题。

而React Native,取决于移动平台的支持组件的特性。默认情况下,iOS 和Android 版本的React Native 支持许多常用的特性。

同时平台特定的API 在提供原生的用户体验方面发挥了巨大的作用。所以在性能方面,更加接近于原生开发。文章来源地址https://www.toymoban.com/news/detail-739660.html

到了这里,关于React与React Native的异同的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 推荐用于学习RN原生模块开发的开源库—react-native-ble-manager

    如题RN的原生模块/Native Modules的开发是一项很重要的技能,但RN官网的示例又比较简单,然后最近我接触与使用、还有阅读了react-native-ble-manager的部份源码,发现里边完全包含了一个Native Modules所涉及的知识点/技术点,故特推荐给大家,共同学习与交流 react-native-ble-manager目前

    2024年02月15日
    浏览(42)
  • 求助帖:React Native failed installing Ruby Gems(rn 下载 Runby Gems 失败)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 react native当前版本0.72.4,官方文档也是最新的, macos:13.3。 最近要用RN做一个项目,参照官方文档链接: link 已经完成了前期的配置工作,直到最后一步创建AsomeProject示例项目时候,RN下载依赖卡在Inst

    2024年02月07日
    浏览(39)
  • react native 0.73 配置 react-native-fs

    npm yarn android/settings.gradle android/app/build.gradle androidappsrcmainjavacomreactnative_demoMainApplication.kt 把原代码 改为

    2024年04月08日
    浏览(36)
  • 探索React Native的世界:gorhom/react-native-animated-tabbar

    项目地址:https://gitcode.com/gorhom/react-native-animated-tabbar 在移动应用开发领域,React Native以其高效、跨平台的能力受到了广泛的欢迎。今天,我们要向您推荐一个极具创意且实用的React Native组件库——gorhom/react-native-animated-tabbar。它是一个精美设计的动画TabBar,为您的应用提供生

    2024年04月17日
    浏览(73)
  • 维护积极的react native,为什么会有人造谣react native不维护了,停止维护。

            其实近几年我一直关注react -native,他一直更新频繁,0.60大重构,升级了js执行引擎Hermes,当前已经0.70.4版本了。性能越来越提高,但是总感觉到有人在刷百度,只要输入react-native后面就自动提示热搜“react-native 停止维护”,这误导很多人以为真的不维

    2024年02月11日
    浏览(37)
  • 工欲善其事,必先利其器之—react-native-debugger调试react native应用

    调试react应用通常利用chrome的inspector的功能和两个最常用的扩展 1、React Developer Tools (主要用于debug组件结构) 2、Redux DevTools (主要用于debug redux store的数据) 对于react native应用,我们一般就使用react-native-debugger了,它是一个独立的应用,需要单独安装,在mac下可以用如下命令

    2024年02月16日
    浏览(26)
  • React Native自学笔记

    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,

    2024年02月05日
    浏览(42)
  • react native 相机拍照

    安装插件 npm install react-native-image-picker // 引入 import { launchCamera, launchImageLibrary} from \\\'react-native-image-picker\\\';  代码如下

    2024年04月09日
    浏览(36)
  • React Native 环境搭建

    省流:失败!!!使用简易沙盒环境搭建项目!!! 万马奔腾!!! Mac 版 根据官网步骤进行,V 0.72 注:在开始之前,我删除了电脑中已有 Homebrew ,重新安装最新版的 Homebrew。过程中使用有科学上网工具。 关于 Homebrew 的安装问题,可以参考这篇博客。 1,安装 node 下载到某

    2024年02月05日
    浏览(46)
  • React Native数据存储

    最近做RN开发中需要数据存储,查阅RN官方资料,发现推荐我们使用 AsyncStorage,对使用步骤做一下记录。 AsyncStorage是什么 简单的,异步的,持久化的key-value存储系统 AsyncStorage在IOS下存储分为两种情况: 存储内容较小,AsyncStorage会存储在序列化的字典中 存储内容大,AsyncStora

    2024年02月13日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包