作为一个iOS开发者,使用ReactNative四个月的见解

作为一名iOS开发者,OC两年半,swift两年,来到新公司四个月,由于职能的原因(公司项目是由ReactNative搭建的,从过来到项目上线,逐渐完成react native在原生端的工作,慢慢进入到无事可做的境地,于是开始慢慢研究原生组件封装供react native调用,到后来的完全从前端同学手上接过项目,负责迭代和维护),也开始慢慢进入到react native的开发中。

首先对于这门语言,我开始是仰慕的,然后到后来的排斥,再到现在以平和的心态去看,也发现了很多闪光点和槽点,在此发表一下个人浅显的看法,也希望大家能够给我宝贵的建议,至于有不好的地方,也希望大家能够指出,在下一定会虚心接受。

首先说下react native的优点:

1.快。这个快主要是体现在一份代码多平台通用,当然这也是react native的初衷。

2.布局灵活,很多根据条件来变化的UI,不像做原生一样,去需要做判断进行重新布局,而仅仅展示或者不展示,不需要多余的布局条件。

3.语法方面很灵活,比如字典的取值,包括解构方面都要比原生强很多。

4.继承了code push之后,只要没有原生内容的修改,热更新变得很容易,因为react native的发布机制是 生成main.jsbundle和asset,一个是代码文件,一个是资源文件,然后附着在原生之上,所有需要的东西都会从里面找,热更新也是更新了这两个文件,而且热更新所消耗的流量并不会很大,以我们的项目来说,20M的项目,这两个加起来是3M多点。

5.调试方面,不需要去重新运行项目,只需要摇一摇,然后reload, 而且可以写进工具,去很方便的查看所有的网络请求。

其次是缺点:

1.刚开始的时候被各种CSS样式搞得痛不欲生,没有代码自动提示,只能去差表,而且开始的时候会感觉特别混乱,对于习惯使用XIB布局的我,简直是折磨。

2.对于错误代码的提示太不友好,有很多时候,写错了东西,根本没有任何提示,运行的时候又出错,找不出问题,结果反复折腾好久。

扫描二维码关注公众号,回复: 5771192 查看本文章

3.资料太少,有些时候遇到问题,去谷歌搜索一下,结果出来的结果寥寥无几。

4.第三方框架很少,而且现有的也会有很多问题,这个感觉主要是react native对于技术的要求过高导致的(去做React native的库,你必须懂react native,懂安卓,懂iOS, 而且你不能略懂)。

5.react native的初衷,是一份代码多平台使用,但是正是这个特性,导致很多时候在前端展示样式不一致,而且这个不一致,很多时候是不可控的,只有实际测试的时候才能发现。

6.属性,props有些时候会很混乱,尤其是代码质量不够高的时候,经常不知道这个props是从哪里来的。

猜你喜欢

转载自blog.csdn.net/chelongfei/article/details/81506742
今日推荐