作为一个IOS\android开发者,转行到RN的理由,包括学习路线



  • ps
       本人从事ios开发3年,android开发1年,H5开发半年,接触RN刚好一个星期,就喜欢上这个框架了,在这里说说理由,还有推荐更多的原生开发者投入进RN的开发大军里面来。
       首先说说原生开发的麻烦的问题,无论是ios,还是android,代码都不具备实时更新的特性,只不过android在这个范畴的需求不是很大,不如ios,因为ios特别需要这个,众所周知apple的审核难度超级大,拿android来比较,如果android 上架需要一天时间,ios就是它的7、8倍,甚至十多倍时间,同样一个app,经常发生android已经上架运营了,ios 还卡在审核的期间遥遥无期,笔者最长的审核等待时间,曾试过半年,而当时android之花了一天,问题是两个app都是笔者写的。
       所以ios对可以热更新的特性特别向往,因为这样意味着,能减少很多麻烦。
      另外一点就是跨平台的特性,自从诺基亚败退移动领域之后,手机系统基本给两大平台蚕食了,ios、android。一个app,有ios、必有android版本的局面已经形成,但是按保守的估计,开发一个app包括两大平台,一般的开发周期,都是三个月来算,就是说从无 到有,要一个季度,这个周期对于现在快节奏市场来说,时间成本还是太大了,这意味着,雇佣3个码农,一个UI,一个策划,连续工作三个月,最低花费也接近十万,而且质量还不保障。所以就催生了各种跨平台的方案,例如笔者之前就使用过cordove、H5之类的。

    好了,FB旗下的RN应运而生,并且在一大堆跨平台方案里面杀出重围,为什么呢?cordove可以跨平台、H5可以实时更新,但是性能都比不上原生封装的RN。
      说了那么多RN,那么作为一个原生开发者,在使用RN的时候有什么优势和劣势呢?
      劣势方面,很明显的,全新的语言框架,全新的布局方案,可能会让很多原生开发者望而反感,对,是反感!不少的原生开发者都会产生一个这样的念头,它的性能虽然勘比原生,但是其实还是不如原生,还是有一点差距,我为什么要放弃自己辛苦学来的原生技术,投入一个新的陌生的领域呢?我投入进去可能还不如那些常年与React打交道的高手呢,我要花多少时间才能用RN做出目前用原生能达到的水平?
      至少我一开始的时候,我是这样想的。但是我学习了一个星期RN后,我改变了想法,因为相比于上面所说的劣势,我发现原生开发者开发者从事RN的一个更大的优势,就是原来RN还不完善,RN的坑非常多,而且这些坑很多都不是React层面的,很多都是在原生层面上面出现的问题,虽然FB一直都在完善,但是目前还是存在,可能一段时间后还会存在,而这部分的问题,在原生代码上起码它RN 是开源的,我们可以修补,甚至拓展,就是相比于非原生跳过来的高手,你就可以更加灵活,更加接近底层,能解决当前框架解决补了的问题。
      听起来好像有些可怕,不完善还拿出来使用,这不是更加坑?
      但是如果前提是,你随时可以在原生和RN之间自由切换,那么有坑有什么问题?在RN开发里面,别人能解决的,你能解决,别人不能解决的,你也能解决
       一个框架,即可以跨平台,还可以热更新,而且性能还可以,你还能奢求什么呢?
       所以如果你是一个原生开发者,无论ios、android,我推荐你使用React Native,不为别的,就为自由自在地写自己的代码。
      目前,我自己的项目是一个大杂烩,C、C++、Js、OC、swift,彼此互相调用,以后不知道会坑到谁
      我的RN学习路线,分为两大部分:UI和事件逻辑,一切以快速做出一个app为前提。
      环境配置,学习时间一个下午,了解整个运行的原理
       fle弹性盒布局,学习时间一个下午,看着教程所有布局都测试了一遍
      常用控件使用,花费了一天,不求甚解
      手势和动画,花费了一天,不求甚解,到真正使用时候,慢慢研究,反正够用就好
      原生与RN互相调用,解决跳转的bug,1天
      原生库集成给RN使用,1天
      观看成功案例,1天
      就是这样,我就开始写APP,是不是很虚,很危险的感觉,一个APP无非就是UI界面响应逻辑,通过上面的学习,我已经学会了,写写UI界面肯定没有问题了,资讯类App,纯粹浏览的App,肯定够用了,至于那些需要更高性能的东西,视频解码、图像处理,底层逻辑的,我打算用原生写
    博客



  • @long 我学习react-native 通常都是当原生的 view 来用的。有app是从头到尾都用react-native?



  • 我也是,所以好激动啊,这样亲切多了,可操作性也强多了



  • @long 说:

    fle弹性盒布局,学习时间一个下午,看着教程所有布局都测试了一遍

    教程链接可以发一下吗?谢谢!资源太少了,,



  • 非常喜欢RN,也非常希望可以推进公司使用,但目前就一个绊脚石,包体积太大。。市场不认推广不认,哎


登录后回复