我已经开始学习React出于好奇,想知道React和React Native之间的区别-虽然不能找到一个满意的答案使用谷歌。React和React Native似乎有相同的格式。它们的语法完全不同吗?
当前回答
React用于在浏览器中工作的web应用程序。 React Native用于android和IOS应用程序,这些应用程序在移动应用程序中工作。
其他回答
反应
React is used for creating websites, web apps, SPAs etc. React is a Javascript library used for creating UI hierarchy. It is responsible for rendering of UI components, It is considered as V part Of MVC framework. React’s virtual DOM is faster than the conventional full refresh model, since the virtual DOM refreshes only parts of the page, Thus decreasing the page refresh time. React uses components as basic unit of UI which can be reused this saves coding time. Simple and easy to learn. React Native React Native is a framework that is used to create cross-platform Native apps. It means you can create native apps and the same app will run on Android and ios. React native have all the benefits of ReactJS React native allows developers to create native apps in web-style approach.
下面是React项目。
在Facebook,他们发明了React,这样JavaScript就可以使用虚拟DOM模型更快地操作网站DOM。
DOM完全刷新比React虚拟DOM模型慢,后者只刷新页面的一部分(即部分刷新)。
正如你从这个视频中了解到的,Facebook并没有发明React,因为他们立即意识到部分刷新会比传统的更快。最初,他们需要一种方法来减少Facebook应用程序的重建时间,幸运的是,这带来了部分DOM刷新。
React native只是React的结果。它是一个使用JavaScript构建原生应用程序的平台。
在使用React native之前,你需要掌握Java或Kotlin(适用于Android), Swift或Objective-C(适用于iPhone和iPad)来创建原生应用。
使用React Native,可以在JavaScript中模仿原生应用程序的行为,最终,你将得到特定于平台的代码作为输出。如果需要进一步优化应用程序,甚至可以混合使用本机代码和JavaScript。
正如Olivia Bishop在视频中所说,85%的React原生代码库可以在平台之间共享。这些将是应用程序通常使用的组件和公共逻辑。
15%的代码是平台特定的。特定于平台的JavaScript赋予了平台特色(并使体验有所不同)。
最酷的事情是这个特定于平台的代码已经编写好了,所以您只需要使用它。
React和React-native之间的主要区别是React带有基于Web的UI组件,而React native则带有与移动相关的UI小部件,其余一切几乎相似。
React-Native是一个用于开发Android和iOS应用程序的框架,它共享80% - 90%的Javascript代码。
而React.js是用于开发web应用程序的父Javascript库。
当你在React-Native中使用像<View>, <Text>这样的标签时,React.js使用像<div> <h1> <h2>这样的web html标签,这只是web/移动开发词典中的同义词。 对于React.js,你需要DOM来渲染html标签的路径,而对于移动应用程序:React-Native使用AppRegistry来注册你的应用程序。
我希望这是一个简单的解释React.js和React-Native的快速差异/相似之处。
简单地说,React和React native遵循相同的设计原则,除了在设计用户界面的情况下。
React本机有一组单独的标记来定义user 但是两者都使用JSX来定义组件。 这两个系统的主要目的是开发可重用的ui组件,并通过其组合减少开发工作。 如果你正确地规划和构建代码,你可以在移动和web上使用相同的业务逻辑
无论如何,它是一个为移动和网络构建用户界面的优秀库。