四、React Native
React Native里面没有webview,它不是Hybrid app,里面执行JS是用的 JavascriptCore。
把Native code十来个最基本核心的类(RCTDeviceEventEmitter、RCTRenderingPerf等)、或组件(RCTView、RCTTextField、RCTTextView、RCTModalFullscreenView等)封装成二十来个基本组件(Popover、Listview等)
实现了一套类似css的子集,用来解决样式问题,相当复杂和强大,靠这个才能将Native的核心组件组成JS层的基本组件再组成业务端的业务组件
在React Native中,写JS的工程师解决的是「将基本组件拼装成可用的React组件」的问题,写Native Code的工程师解决的是「提供核心组件,提供足够的扩展性、灵活性和性能」的问题。
React Native工作原理:
为什么要使用React Native
不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题。
有较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用。
可以直接使用Native原生的「牛逼」动画。
可以通过更新远端JS,直接更新app。