为啥 ReactNative 的性能比 WebView 好?如果他们使用相同的 Javascript Engine V8?
Posted
技术标签:
【中文标题】为啥 ReactNative 的性能比 WebView 好?如果他们使用相同的 Javascript Engine V8?【英文标题】:Why ReactNative has better performance than WebView? If they use same Javascript Engine V8?为什么 ReactNative 的性能比 WebView 好?如果他们使用相同的 Javascript Engine V8? 【发布时间】:2021-12-17 13:50:45 【问题描述】:在android Native中,我们使用skia。 WebView 使用skia。如果 React Native 使用 v8 引擎,webview 使用 v8 引擎。 ReactNative 和 WebView 在性能上有什么区别?
【问题讨论】:
【参考方案1】:-
React Native 渲染实际上是由原生视图通过桥执行的。
虚拟 DOM 为 React 提供了更好的性能。
【讨论】:
但是你可以在 Web 开发中使用 React。然后你就可以拥有虚拟dom了。为什么原生渲染比 WebView 更好。图层下的渲染是一样的。 最重要的原因是,React Native 将虚拟 DOM 转换为原生组件,而 React Web 应用程序只是将其转换为真实 DOM。在 React Native 中,渲染的事情都是由原生组件完成的。我们只是使用 React 来简化 UI 的编程。 为什么 Native 组件比 Web 组件快。它们都使用 opengl 进行渲染。如果布局是问题。但是网络历史悠久,为什么他们不喜欢它。【参考方案2】:在 React-Native 中,您编写 javascript。 Javascript 与原生组件(Android 上的 Java、ios 上的 Objective C、Windows 上的 C#)进行通信。
而 WebView 只是在应用程序中显示网页的一种方式。它加载在给定屏幕尺寸中提供的 URL 的内容。内容不与本机组件通信,因此不会为您提供本机移动应用程序的外观。
【讨论】:
以上是关于为啥 ReactNative 的性能比 WebView 好?如果他们使用相同的 Javascript Engine V8?的主要内容,如果未能解决你的问题,请参考以下文章
Electron:为啥 BrowserView 的性能比 Webview 好?
为啥 OpenCV Gpu 模块的性能比 VisionWorks 快?