React Native 的哲学

React Native结合Web应用和Native应用的优点,使用JavaScript构建操作系统原生UI。其基本原理包括JavaScriptCore执行JS代码,React管理VirtualDOM,Bridges协调原生组件。优点在于复用React思想,快速开发,动态更新。缺点是需要针对iOS和Android提供不同代码,性能受限,学习成本高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、React Native 是干嘛的
  • React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用
  • 在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。
二、React Native 基本原理

React Native = JavaScriptCore + React + Bridges

  • JavaScriptCore负责JS代码解释执行。
  • React负责描述和管理VirtualDom,指挥原生组件进行绘制和更新,同时很多计算逻辑也在js里面进行。ReactJS自身是不直接绘制UI的,UI绘制是非常耗时的操作,原生组件最擅长这事情。
  • Bridges用来翻译React的绘制指令给原生组件进行绘制,同时把原生组件接收到的用户事件反馈给React。

一图胜过千言万语:
在这里插入图片描述

三、React Native 有哪些优缺点

1 优点:

  • 复用了 React 的思想,有利于前端开发者涉足移动端。
  • 能够利用 JavaScript 动态更新的特性,快速迭代。
  • 相比于原生平台,开发速度更快,相比于 Hybrid 框架,性能更好。

2 缺点:

  • 做不到 Write once, Run everywhere,也就是说开发者依然需要为 iOS 和 Android 平台提供两套不同的代码,比如参考官方文档可以发现不少组件和API都区分了 Android 和 iOS 版本。即使是共用组件,也会有平台独享的函数。
  • 不能做到完全屏蔽 iOS 端或 Android 的细节,前端开发者必须对原生平台有所了解。加重了学习成本。对于移动端开发者来说,完全不具备用 React Native 开发的能力。
  • 由于 Objective-C 与 JavaScript 之间切换存在固定的时间开销,所以性能必定不及原生。比如目前的官方版本无法做到 UItableview(ListView) 的视图重用,因为滑动过程中,视图重用需要在异步线程中执行,速度太慢。这也就导致随着 Cell 数量的增加,占用的内存也线性增加。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值