# React 与 React Native

**URL:** <https://www.isharkfly.com/t/react-react-native/15958>\
**Category:** 前端\
**Tags:** react-native, react\
**Created:** [July 1, 2024, 8:51pm UTC](https://www.isharkfly.com/t/react-react-native/15958 "2024-07-01T20:51:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [July 1, 2024, 8:51pm UTC](https://www.isharkfly.com/t/react-react-native/15958/1 "2024-07-01T20:51:31Z")

</div>

React和React Native是强大的技术，是许多网站和移动应用程序的骨干。早些时候，Facebook用户不能同时查看News Feeds和访问聊天记录。为了克服这个问题，Facebook引入了React，也就是ReactJS。

ReactJS是一个JavaScript库，允许开发者创建交互式用户界面。另一方面，React Native扩展了React的功能，为开发本地移动应用提供了一个框架。但许多经验丰富的开发者并不了解React和React Native之间的区别。

React和React Native的主要区别是，React是一个前端JavaScript库，而React Native是一个移动应用框架。除此之外，React和React Native之间还有很多其他的区别。

本文将带领你了解React和React Native的主要区别。此外，它还会让你单独熟悉React和React Native，以及各自的优点和缺点。

## 什么是React

React，也被称为ReactJS或React.js，是一个免费和开源的JavaScript库。它是一个前端JavaScript库，用于开发基于UI组件的交互式用户界面。你可以使用React作为开发单页或移动应用程序的基础。

现代网站大多遵循模型-视图-控制器（MVC）架构。在MVC架构中，React是 “V”，代表着 “视图”。

一个React应用程序由多个组件组成，其中每个组件都是使用一小段可重复使用的HTML代码开发的。我们可以将这些组件与其他React组件一起使用，构建复杂的应用程序。

Meta（原Facebook）的软件工程师Jordan Walke受到XHP的影响，XHP是PHP的一个HTML组件库，他发布了React的第一个原型，名为 “FaxJS”。这个原型在2011年被用于Facebook的News Feed，2012年被用于Instagram。

React使网络开发者能够创建能够改变数据而无需重新加载页面的网络应用。然而，React库并不足以开发成熟的React应用程序，因为它只关注状态管理和将该状态渲染到DOM。因此，你需要额外的库来实现路由和某些客户端的功能。

## 什么是React Native

React Native，也被称为RN，是一个开源的UI软件框架。它是建立在React库之上的。它是一个基于JavaScript的移动应用框架，允许我们为Android和iOS建立原生渲染的应用程序。

有了这个框架，我们可以通过使用React框架的原生平台功能，为Windows、macOS、Android、iOS、Android TV、tvOS、Web和UWP开发应用程序。此外，React Native支持同时为安卓和iOS开发移动应用，因为我们可以编写可以在两个平台之间共享的代码。

2015年，React Native被Meta Platforms, Inc.作为一个开源项目发布。今天，React Native已经成为移动开发的顶级框架之一。
