ReactNative浅谈

前端之家收集整理的这篇文章主要介绍了ReactNative浅谈前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

React Native是什么?

Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架 React Native。

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

React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验。React Native 把重点放在所有开发人员关心的平台的开发效率上——开发者只需学习一种语言就能轻易为任何平台高效地编写代码。Facebook 在多个应用程序产品中使用了 React Native,并将继续为 React Native 投资。

React Native 官网:http://facebook.github.io/react-native/

GitHub 地址:https://github.com/jikexueyuanwiki/react-native

**

ReactNative 优缺点:

**
ReactNative(RN)本质上仍然是一个使用HTML+JS开发技术来开发移动App的Web框架,不过他确实是一个优秀的框架,他使其获得了与原生技术一样的优质的体验。
RN做到了既具备原生应用的用户体验,又获得了Web应用的开发体验(编译迅速,发布迅速)。因为它不是直接通过WebView或者脚本封装的方式去实现,RN提供了一些新的组件用于对应它在原生代码之中去封装的控件,即他对原生代码和Web代码都进行了封装,中间通过了他自定义的规则把两者联系了起来,使HTML+JS代码直接被转换成了可被原生识别的代码。所以他的编译和运行效率是非常高效的。

不过RN并非是全能的,又优点就肯定会有缺点: 1、因为RN对原生控件进行了大量的封装,所以它不得不依赖原生组件暴露出来的组件和方法,举两个例子,Behavior这个组件,作为Android5.0 Material Design风格的最新组件,内部包含着大量的方法和回调事件,layoutDependsOn,onDependentViewChanged等,在现有的RN都是无法提供支持的。另外,这个版本中有大量组件是iOS 独有的:ActivityIndicatorIOS、DatePickerIOS、NavigatorIOS、PickerIOS、SliderIOS、SwitchIOS、TabBarIOS、AlertIOS、AppStateIOS、LinkingIOS、PushNotificationIOS、StatusBarIOS、VibrationIOS,反过来看,剩余的都是一些抽象程度极强的基本组件。这样,我们在很多情况下依然需要去使用两套代码来去实现这些功能,并且需要我们同时掌握 HTML+JS+原生技术。 2、网上资料太少,对于RN使用方法,出现问题的处理方法都相对较少。 3、对于第三方库的支持,我们无法直接通过RN去实现对第三方库(百度地图,支付宝SDK。。)的支持,还是需要原生的代码去实现。 所以我们无法只依赖与RN去实现一个完整的移动APP,这就要求开发者必须要掌握 Web开发技术与原生开发技术和RN框架的使用。建议的方式依然是使用RN实现Android和IOS通用的界面,对于具有独立特征的界面和需要与第三方交互的功能依然需要使用原生的方式去开发。

猜你在找的React相关文章