【问题标题】:Is React Native a Native, Hybrid, Mixture of both or any other kind of technology/framework?React Native 是原生的、混合的、两者的混合还是任何其他类型的技术/框架?
【发布时间】:2021-05-20 18:55:13
【问题描述】:

我已经阅读了很多关于“React Native 是原生、混合、两者的混合还是任何其他类型的技术/框架?”的博客文章、Quora 问题等。如下节所示。

其中一些说它是一个原生框架,一些说它是一个混合框架。我想知道 React-Native Framework 的具体类型是什么?

https://www.quora.com/Is-React-Native-actually-native-or-hybrid

https://technostacks.com/blog/native-app-vs-hybrid-app/

https://www.quora.com/What-is-the-difference-between-React-Native-and-Hybrid-Apps

https://www.quora.com/Is-React-Native-actually-native

https://www.quora.com/How-can-I-know-if-a-mobile-app-is-native-hybrid-or-React-Native

Technological difference between react-native and cordova

【问题讨论】:

    标签: react-native


    【解决方案1】:

    React Native 受到了很多关注,开发人员对此充满热情。该技术将 React.js 的所有优点扩展到应用程序,允许开发人员使用 JavaScript 创建原生移动应用程序,从而改善应用程序体验。

    React Native 有多好以及它的承诺是什么?

    React Native 是一个为 iOS 和 Android 设备创建原生应用程序的框架。 React 接管视图控制器并使用 JavaScript 以编程方式创建原生视图。它没有针对浏览器,而是专注于网络平台。换句话说,Web 开发人员可以轻松编写外观和声音都是原生的移动应用程序,所有这些都使用 JavaScript 库。该框架的优势在于您编写的大部分代码可以跨平台传播,从而可以轻松同时为 Android 和 iOS 构建代码。

    这意味着您可以拥有原生应用程序的所有速度和强大功能,同时使用 React 轻松开发。两个主要原因是:

    • 使用 React Native,您的应用程序逻辑被编写并运行在 JavaScript,而您的应用程序 UI 是完全原生的;所以 您没有通常与 HTML5 UI 相关的妥协。

    • React 引入了一种新颖、激进且功能强大的方法 构建用户界面。简而言之,应用程序 UI 很简单 表示为当前应用程序状态的函数。

    React Native 桥接差距

    React Native 程序,包括用于 Web 的 React,都是用 JSX 编写的,JSX 是 JavaScript 和 XML-Esque 标记的组合。 React Native 同时支持 iOS 和 Android,并且有能力扩展到所有未来的平台。 React Native 可用于创建生产就绪的移动应用程序,这些应用程序使用实际的移动 UI 组件而不是 web 视图,并且看起来和听起来像任何其他移动应用程序。它还为平台 API 公开了 JavaScript 接口,允许 React Native 应用程序访问手机摄像头和用户位置等平台功能,从而增强用户体验。

    React Native 正在接近弥合原生应用程序成功与 Web 应用程序开发简易性之间的差距。当大多数框架试图模仿原生 UI 元素时,结果通常会有些偏差;对动画等项目的所有细节进行逆向工程需要花费大量时间和精力,而且结果很容易过时。另一方面,React Native 将您的标记转换为真正的原生 UI 组件,利用您正在使用的任何平台上的现有渲染方法。

    此外,由于 React 独立于主 UI 线程运行,因此您的应用将保持高性能而不会丢失功能。 React Native 遵循与 React 相同的更新周期:当 props 或 state 发生变化时,React Native 会重新渲染视图。 React Native 和浏览器中的 React 的主要区别在于 React Native 使用宿主平台的 UI 库而不是 HTML 和 CSS 标记来实现这一点。

    开发者舒适区

    这意味着习惯于使用 React 在 Web 上工作的开发人员可以创建具有原生应用程序的输出和外观的移动应用程序,同时仍然使用熟悉的工具。在另外两个领域,React Native 优于传统移动开发:开发者体验和跨平台开发能力。

    对于混合移动开发,React Native 带来了 React.JS 的所有更好的应用程序性能、DOM 抽象(以及虚拟 DOM 中的操作)和简化的编程方法——具有原生结果的 web 应用程序开发的速度和敏捷性。

    React Native 允许您将插件与本机模块链接,因此您可以将地图与设备的缩放、旋转和指南针等功能链接起来,同时使用更少的内存并更快地加载。如果您的应用支持较旧的操作系统(和较旧的设备),这可以帮助您保持应用平稳运行。开始使用 React Native 很容易——尤其是对于 JavaScript 专业人士而言。

    简而言之,React Native 旨在将 React 编程模型的强大功能引入移动应用程序开发。它是下一代框架。

    【讨论】:

      【解决方案2】:

      React Native 是一个混合框架

      【讨论】:

      • 您能否详细说明,为什么它是一个混合框架?
      猜你喜欢
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多