为什么要学React Native开发?

移动开发 waitig 837℃ 百度已收录 0评论

最近掉React Native的坑里,无法自拔啊关于React Native是什么,各位可谷歌之,这里主要给大家安利下React Native,总结下一些从Android到React Native相关的概念和基础。来吧,互相伤害啊(˶‾᷄ ⁻̫ ‾᷅˵)。

一、为什么要学React Native?

  • 因为现在许多主流的应用都有React Native的影子,它对比原生开发更为灵活,对比H5体验更为高效,而且跨平台的支持特性。

  • 相对ionic这类PhoneGap,它效率更高,和原生之间的交互更方便。

  • 多个版本迭代后的今天,它已经拥有了丰富第三方插件支持。

  • React Native解决不了的,可以通过各位熟悉的原生来解决。

  • 更方便的热更新。


当然,React Native的坑也不在少数:


  • 尽管是跨平台,但是不同平台Api的特性与显示并不一定一致。

  • 相对增大了app的体积。

  • 调试’相对‘麻烦。

  • Android上的兼容性问题。

二、怎么对待React Native?

React Native适合作为项目中的补充,而不是作为核心去开发APP。

因为尽管是跨平台和快捷开发,但是以React Native为核心,去开发稍微偏中型以上的项目,后期维护的人员绝对不比原生的少多少,而且项目大了,体验依旧是个大问题。

相反,把React Native作为项目开发中的补充,可以在一定程度上实现平台业务的统一,还有灵活的开发效率,补充原生的不足。

三、如何学习React Native?

那么入门前你需要知道:

  • javascript基础(不懂?不怕,学习React的时候一起熟悉)

  • ES6语法(不懂?不怕,学习React的时候一起熟悉)

  • React 还是必须学习一下,可以不必太深入,但是至少了解下思路也好。


React 的核心思想是:封装组件。React Native就是按照一个个组件组成App,可以认为,基础的React Native,就是一个Activity,里面放着许多的组件,跳转不同的组件,实现不同的页面。


React的学习可以通过这个了解: 

http://www.jingyingba.com/Home/coursedetails/index/pid/67


React相关的资料 :

https://hulufei.gitbooks.io/react-tutorial/content/introduction.html


上面的资料足够你了解React,了解了React,你才能更好的学习React Native,如果对于javascript和ES6还不了解的,通过上述React学习可以同步了解。

四、从Android到React Native

(1)开发环境


Android开发转过来的,推荐Webstrom,因为它和Android Studio同出一家,快捷键、插件、git版本管理等等基本不需要二次学习,无需多虑了。至于开发环境配置,跟着下方链接妥妥的。


Webstrom 简单配置

http://blog.csdn.net/gz_jero/article/details/51503374

React Native 开发环境配置

http://reactnative.cn/docs/0.31/getting-started.html



(2)项目理解


React Native创建工程,是通过在命令终端输入 react-native init 你的项目名字 来创建工程的,创建的工程会从网络端,同步到你终端所在路径的本地,生成一个和android project类似的项目

其中关键的文件有:
android文件夹,就是一个可以用android studio打开的android项目。
ios文件夹,是一个可以用xcode打开的ios项目。
index.android.js,这是android的React Native入口文件。
index.ios.js,这是ios的React Native入口文件。
package.json,类似android studio的build.gradle,你依赖的库都写在里面。
node_module文件夹,你依赖的库下载下来都存放在里面,属于git的忽略文件,你要找的依赖库源码也在里面,包括React和React Native。
jscode文件夹,是自己创建的文件夹,用来存放自己写的js文件。

这里需要理解的是:


package.json,类似于android studio中的build.gradle添加远程依赖,不同的是,package.json大多数时候不需要我们手动添加,我们只需要在根目录通过命令行,npm install xxxxxx –save 就可以依赖一个库了。

install之后,库的依赖信息,自动被写到package.json里面,对应的库也会被下载到node_module文件夹中,类似android studio依赖后把aar同步到本地。

最后,如果你已经准备好要开始学习React Native,前面两篇博文已经写好如何搭建入门了,开始动手学习吧!

  • 因为现在许多主流的应用都有React Native的影子,它对比原生开发更为灵活,对比H5体验更为高效,而且跨平台的支持特性。

  • 相对ionic这类PhoneGap,它效率更高,和原生之间的交互更方便。

  • 多个版本迭代后的今天,它已经拥有了丰富第三方插件支持。

  • React Native解决不了的,可以通过各位熟悉的原生来解决。

  • 更方便的热更新。


当然,React Native的坑也不在少数:


  • 尽管是跨平台,但是不同平台Api的特性与显示并不一定一致。

  • 相对增大了app的体积。

  • 调试’相对‘麻烦。

  • Android上的兼容性问题。


总的来说,React Native适合作为项目中的补充,而不是作为核心去开发APP。

因为尽管是跨平台和快捷开发,但是以React Native为核心,去开发稍微偏中型以上的项目,后期维护的人员绝对不比原生的少多少,而且项目大了,体验依旧是个大问题。


相反,把React Native作为项目开发中的补充,可以在一定程度上实现平台业务的统一,还有灵活的开发效率,补充原生的不足。


本文由【waitig】发表在等英博客
本文固定链接:为什么要学React Native开发?
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)