为什么使用ReactNative?
2018-02-22 17:06
197 查看
说说背景,由于公司项目一直没有启动,有一天接到领导一个任务,寻找一个跨平台的开发语言并且要支持热更新的功能,因为之前听说过ReactNative,所以就找认真看了一下对这个框架的评论和文档,恰巧这个框架有对应的中文文档,而且这个框架十分火热,在github上的star数也在不断增长。我使用Framework7开发过一个小项目,也跟ReactNative属于同类型的框架,但是Framework7的文档不是很全,并且中文文档不足,所以果断抛弃之。
至于为什么使用ReactNative?我就翻译一下官方的几句话来说明吧。
1.With React Native, you don't build a "mobile web app", an "HTML5 app", or a "hybrid app". You build a real mobile app that's indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React.使用ReactNative,你不用构建webapp,html5 app,或者混合开发app,就能够构建一个像Objective-C或者Java语言开发一样体验的App。React Native 使用常规的IOS和Android UI构建块,只需把这个构建块和JavaScript和React放在一起。(实际上这句话名不符实,实际上一些复杂的控件很难用React Native实现)。2.Use native code when you need to。
当你需要的时候就可以使用原生代码,即可以实现混合开发。3.Don't waste time recompiling。不用浪费大量的时间重新编译,如果修改了JavaScript的代码部分,只需重新加载你的app即可。4.还有一个重要的能力,支持热更新,并且苹果 App Store允许ReactNative的更新,这可以减少苹果App大量的上线时间。最后总结一下,因为自身眼界的局限,并且没有做足够的技术选型,就匆匆使用了这项技术。在学习使用的过程中也遇到很多困难,到现在我都不确定选择这个框架是否是明智的选择,因为还有其他的替代方案,例如html5,但是由于时间的限制,可能没法深入对比了。
至于为什么使用ReactNative?我就翻译一下官方的几句话来说明吧。
1.With React Native, you don't build a "mobile web app", an "HTML5 app", or a "hybrid app". You build a real mobile app that's indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React.使用ReactNative,你不用构建webapp,html5 app,或者混合开发app,就能够构建一个像Objective-C或者Java语言开发一样体验的App。React Native 使用常规的IOS和Android UI构建块,只需把这个构建块和JavaScript和React放在一起。(实际上这句话名不符实,实际上一些复杂的控件很难用React Native实现)。2.Use native code when you need to。
当你需要的时候就可以使用原生代码,即可以实现混合开发。3.Don't waste time recompiling。不用浪费大量的时间重新编译,如果修改了JavaScript的代码部分,只需重新加载你的app即可。4.还有一个重要的能力,支持热更新,并且苹果 App Store允许ReactNative的更新,这可以减少苹果App大量的上线时间。最后总结一下,因为自身眼界的局限,并且没有做足够的技术选型,就匆匆使用了这项技术。在学习使用的过程中也遇到很多困难,到现在我都不确定选择这个框架是否是明智的选择,因为还有其他的替代方案,例如html5,但是由于时间的限制,可能没法深入对比了。
相关文章推荐
- React-native 使用pushy部署热更新
- React-Native学习笔记 使用ListView加载网络数据
- 使用VsCode开发React-Native[debug调试+智能提示]
- React-native中DatePickerAndroid的使用
- React-Native 之 Navigator与NavigatorIOS使用
- React Native使用SectionList打造城市选择列表,包含分组的跳转
- React Native——react-navigation的使用
- react-native-vector-icons使用(二)
- React Native 使用react-native-image-picker插件上传图片详细步骤
- 使用react-native做一个简单的应用-04界面主框架
- Mobx在ReactNative中的使用
- 学习React-Native(一):学习React,使用模块加载器webpack
- React-Native开发:react-native-image-crop-picker图片上传组件的使用(安卓)
- React-native 之Image的使用
- React Native系列——WebView组件使用介绍
- react-native的props和state的使用
- 底部导航组件组件react-native-tab-navigator的使用
- react-native-svg的使用
- ReactNative开发中使用react-native-vector-icons
- React native 自定义弹窗(android使用原生ios弹窗)