浅谈:RN技术的优劣势

作为安卓开发站长的你应该对RN不陌生,它出现已经有一段时间了,并且已经开发出了很多非常流畅的纯RN产品,以及相关的工具,如:处理安全问题、更新问题。但是,有一点不得不承认,RN并非所有的JS工程师都能搞定。若您的安卓开发团队中没有懂android整个架构的工程师,那么难免在开发的过程中会出现各种各样的问题,优化android是一件很繁琐的事,毕竟android优化存在很多黑科技,这点天津app开发相信很多的安卓开发站长都体会过。




那么,RN技术存在哪些优劣势?

一、RN的优势

A、调试方便:安装ipa即可,无需频繁编译,只需要reload一下,把js代码从云服务器下载下来就能呈现改变代码后的效果。而且RN还支持hotReload,这样的话调试界面就会变得很方便,代码改好以后保存,界面也会自动的跟着变化,虽然这点在调试时会很爽,但速度上面有些慢,需要reload。

D、热更新:这正是大多数公司选择使用RN的主要原因,app频繁升级容易引起用户反感,并且苹果审核机制很麻烦。因此,现如今很多的大型app都用RN,毕竟繁多的业务迭代,每次都通过APP审核,这需要浪费很多的时间。

B、css-layout布局:这在某种程度可以大大的降低前端程序员的学习成本,大大减少代码量。但是有一点,对于ios或者安卓开发者而言,较开始刚接触的时候,在思想上面需要接手一些转变。

C、跨平台:所谓的跨平台,也就是大部分代码只需要写一套,即可在安卓和ios上运行,无需开发多个版本,而这能够在一定程度上减少开发成本的,减少开发人员数量。

E、后台硬:RN的后台就是Facebook,试想一下有着Facebook这个强大的支撑,发展能不好吗?

二、RN的不完善

在这里,天津app开发真的忍不住想要吐槽一下,RN技术存在的不完善的地方真的不少,和大多数原生开发体验相比,堪称天壤之别。RN现在的较新版本是0.46,我们工程中用的是0.42,毕竟还没上1.0呢。抛开主观情感,下面是其存在的劣势:

A、文档很粗略:虽然官网上有文档,但只是简单的介绍及各个空间属性,对细节描述很少,当遇到难题或踩到坑,无法在上面找到解决方案。

B、开发体验很一般:虽说js语法很灵活,但毕竟是还是脚本语言,调试起来不方便,不好差错。

C、平台不统一:很多控件都是iOS专属,或安卓专属,还有同一些其他的控件,在不同平台上表现差异很大。

D、控件不完善:其实,这个挺多的,较基本的ListView,功能缺失,坑很多。Text不支持富文本,动画,手势,ScrollView等。

E、升级RN版本需要大动干戈:RN版本升级,真的挺麻烦。新版把PropTyps从React中移了出来,那么之前的引用方式就得变,所有的文件挨个查,非常麻烦浪费时间。

F、bug多:虽说做出优质app需要花费大量人力和时间去打磨跨平台,可能会加大开发成本,但是换了RN之后,需要投入的人力、物力、精力更多,做起来也更累,迭代慢,bug多。

总之,虽然RN上线很久了,但是目前仍存在很多不稳定因素,所以,天津app开发建议各位想入坑的开发人员和决策者在入坑前得多权衡,虽然作为技术开发者应该具备对新技术的敏锐嗅觉和快速学习能力,但是对于项目的技术更新,还得要根据实际情况,要慎重。

声明:文章"浅谈:RN技术的优劣势"为文率科技APP开发公司原创文章,转载请注明出处,谢谢合作!

入门文章推荐阅读