理解 React 与 React Native
已发表: 2021-07-11我们人类会混淆很多东西。 根据事物的不同特征,可能会产生混淆。 与不同事物混淆的最常见方式是它们的名称。
人们首先会知道一个新事物的名字。 要么是另一个人,动物,产品,软件等,他们会用他们的名字搜索,然后他们会知道不同的功能,应用程序,历史等等,
为什么会这样?
是的,人们经常对术语(名称) React和React Native感到困惑。 如果非技术人员看到React和React Native这两个名字,他们会认为在大多数情况下 Reactive Native 是 React 的扩展。 如果他们在这些领域的知识为 0%,即使是一些技术人员也可能会以同样的方式思考。
那些东西究竟是什么? 为什么人们经常与他们混淆,而不是与其他人混淆?
React 和 React Native 是两个框架。 这些名称看起来很相似,但它们之间多了一个单词。 所以,人们往往会因为名字乍一看而混淆。 如果您有同样的困惑,那么您来对地方了,可以揭开它们背后的神秘面纱。
让我们来了解一下。
反应

React 是一个 JavaScript 库,用于构建单页 Web 应用程序。 它是为 Web 构建用户界面(前端)的最流行的库之一。 也许我们可以说它是目前最受欢迎的图书馆。 它由 Facebook 创建和维护。 它也被称为 ReactJS。
由于我有使用 React 的经验,我可以说它的学习和构建既美观又简单。 这是一个图书馆。 因此,我们可以通过利用其功能来构建我们想要的任何东西。 使用 React 开发应用程序时没有严格的规则需要遵循。 所以,我们会有自由。
React 有很多很酷的特性。 让我们来看看它们。
#1. 组件
在 React 中,一切都是组件。 它就像 Web 应用程序的构建块。 我们可以通过组合小组件来形成大组件。 每个组件都有自己的状态和控制。 组件控制用户界面并根据其状态决定向用户显示什么。
在 React 中,组件就是一切。 而且它们是可重复使用的。 一次编写,随处使用。
我们需要非常小心地编写组件。 当我们的应用程序增长时,它使事情易于维护。 如果我们在单个组件中编写大量代码,最终会成为我们维护的负担。 React 组件应该小而甜。 它们使开发人员的生活成为天堂和地狱。
#2. 虚拟DOM
您应该已经在按钮内看到了类似加载程序的内容。 而在社交媒体平台中,只要你按下它,点赞数就会增加。 在网络的早期,我们必须重新加载所有内容才能获取信息。 但是,现在需要更新的单曲会为我们刷新,而不会触及其他东西。 这是怎么回事?
正如我们之前看到的,React 中的一切都是一个组件。 浏览器维护 Web 应用程序元素的 DOM 结构。 当 Web 应用程序的一部分需要更新时,我们必须使用 DOM 操作来更新它。 React 高效地做同样的事情。
React 为其所有组件创建一个虚拟 DOM(DOM 的副本)。 为了更新 Web 应用程序中的某些内容,React 将真实 DOM 与虚拟 DOM 进行比较。 如果有任何更改,则 React 会触发更新组件。
#3. 单向数据流
我们不能在没有数据流的情况下将大量组件划分为较小的组件。 组件之间的数据流必须有某种方式。
React 允许我们以单一方向将数据从一个组件传递到另一个组件。 数据从父组件流向子组件。 并且子组件无法更新数据。 由于数据流是单向的,因此无法将数据发送回父组件。
您可能首先认为它没有多向数据流。 但是,单向数据流使我们可以更好地控制多向数据流。
概述
还有许多其他功能,如 JSX、条件渲染等。 他们是次要的。 我们已经看到了 React 库的主要特性。 当谈到 React 的应用程序时,我们几乎可以用它构建任何类型的 Web 应用程序。 React 社区非常庞大。 你可以找到很多与 React 一起工作的包。
反应本机

React Native 是一个用于开发跨平台移动应用程序的 JavaScript 框架。 它也是由 Facebook 创建和维护的。
你们中的大多数人都会对上述声明感到惊讶。
我们可以使用单一框架为 Android 和 IOS 创建移动应用程序吗?
如果您不关注科技世界的更新,那么您就不可能知道它。 是的,我们可以使用 React Native 创建跨平台(Android 和 IOS)应用程序。 并且存在用于跨平台应用程序开发的其他框架。
React Native 是同类产品中最受欢迎的产品之一。 由于本机应用程序中的 JavaScript 限制,这不是最流行的一种。 但是,它在其发展领域大放异彩。 即使是 Facebook、Instagram、Flipkart 等大公司也使用它。 这并不意味着您应该使用它。 这意味着我们可以使用 React Native 构建跨平台的生产级应用程序。
我在上面的段落中使用了一组称为Native Applications的词。 这些是什么? 这不是某种新型的应用程序。 本机应用程序是专门为特定平台创建的。 适用于安卓手机的安卓应用程序、适用于 iPhone 手机的 IOS 应用程序、适用于 Windows 的 Windows 应用程序等,
什么是与母语为阵营本土回事? 谈到它,React Native 根据我们的愿望创建了一个适用于 Android 和 IOS 的本机应用程序。 使用 React Native 开发的应用程序与 Android Studio for android 一样是 native 的,对于 IOS 也是类似的。

也许创作者因此将其命名为 React Native。 不是事实。
当谈到 React Native 的功能时,有一大堆在等着我们。 让我们看看它们的一些主要功能。
#1. 跨平台
我们可以使用单一代码库同时为 Android 和 IOS 创建移动应用程序。 它为公司节省了大量时间和金钱。
#2. 热加载或实时加载
如果您有 React 或 React Native 应用程序的经验,那么您可能知道它。 当我们更改代码时,此功能会使用新的更新重新加载整个应用程序。 我们不必每次更改代码时都按下重新加载按钮。 更新代码并查看更改。 而已。 除非有错误,否则我们不必等待任何事情。
对您来说,这似乎是次要功能。 但是,如果您来自没有任何框架的 android 开发,您就会理解这个特性在 React Native 中的价值。
#3. UI 库和社区
React Native 中有很多内置的原生组件。 我们可以直接使用它们,无需任何额外的设置或安装。 本机组件在各自的平台上看起来是本机的。 React Native 应用程序 UI 与 IOS 原生 UI 以及 Android 原生 UI 相匹配。 React Native 有类似于 React 的组件。
当涉及到社区时。 它很大,而且还在不断增加。 当您陷入社区时,您可以毫无困难地从社区获得帮助。
概述
您可以在 Internet 上找到 React Native 的许多其他功能。 如果您要进行移动应用程序开发,也可以探索它们。 前端开发人员还可以使用 React Native 开发本机应用程序。 它使跨平台移动应用程序的开发变得容易。
反应对比反应本机
React 和 React Native 之间有一些相似之处和不同之处。 让我们来看看它们。
说到 React 和 React Native 的应用,它们是完全不同的。 但是,当谈到原则时,它们看起来很相似。 React 和 React Native 都有组件。 他们在各自的发展中遵循相同的原则。
他们都使用 JavaScript 语言进行开发。 让我们看看它们中的一个简单的Hello, World应用程序。
反应
import React, { Component } from 'react'; import './App.css'; class App extends Component { render() { return ( <div className="container"> <h1>Hello, Wolrd!</h1> </div> ); } } export default App;反应本机
import React from 'react'; import { Text, View } from 'react-native'; const App = () => { return ( <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}> <Text>Hello, world!</Text> </View> ) } export default App;如您所见,它们都使用 React 包。 两个应用程序的语法看起来相似,因为它们使用称为 JSX 的特殊标记。 但是说到渲染部分,他们都用了不同的东西。 React 使用Virtual DOM, React Native 使用Native API进行 UI 渲染。
有一些外部包,如 Redux、MobX 等,用于 React 应用程序的语句管理。 同样的包也可以用在 React Native 应用程序中。
React 和 React Native 都使用 JavaScript。 因此,我们几乎可以将每个 JavaScript 包与它们一起使用。 这为他们的两个包库添加了许多包。
React 和 React Native 是相互关联的。 但是,它们用于不同的目的。
结论
React 和 React Native 在最终产品和应用平台方面是不同的。 但是,它们在各自应用程序的开发中遵循相似的原则。 如果您可以学习 React 或 React Native 这两个框架中的一个,您就可以加快学习另一个框架的速度。 但是,开发 React Native 应用程序需要 React 知识。 但是,这还不够。 我们需要更多地了解原生应用程序的开发,因为 React Native 的支持是有限的。
让我们希望它最终能够在未来得到全面支持。
如果您想开始 Web 或移动应用程序开发,那么选择 React 或 React Native 在未来肯定会让您受益。 但这不是强制性的。
如果您了解 JavaScript,学习 React 的概念是轻而易举的事。 官方文档将是您开始使用 React 或 React Native 的绝佳资源。
快乐知道
