到昨天为止,react-native一次性升级到最新版本,使用新版本的最新特性,比如:react-navigation、ViewProptypes、redux等。很多人会问昨天不是国庆,国庆在家撸代码是不是有病,哈哈,国庆在家看你们发朋友圈各种堵,默默的偷笑一波,庆幸自己九月中旬已经玩过一波了。
RN版本升级还是比较快的,记得今年年初的时候,引入react和react-native,那时候RN才0.42,到现在已经是0.48了。一方面由于是团队自己搭建的架构,不断完善,在一个版本未稳定之前,引入新版难免不够稳妥,另外一个方面追求最新版本,有点乐意当小白鼠的意思,当然这里不是说没有当小白鼠的精神,实在是团队精力有限和人员层次低,所以默默的用0.42到8月份。8月份之后,每个周末闲的没事,就开始捣鼓新的东西,当时预计要引入react-navigation和redux.这两个真的是贯穿整个架构,要想替换原来的路由navigator真的是伤筋动骨,而在实际升级过程中,也果真如此。太可怕了,八月份到九月份的周末都贡献到这里。好在经过把原来的业务代码拿过来修改运行,现在业务能够正常搭载在新路由和状态上运行。
在编写redux实践,有人问我为何要引入?确实在现有的项目中,可以不使用redux也能够满足,这里我说明一下引入的原因,一方面是因为navigation后退机制没有做好,无法后退到指定的栈中,看了navigation源码,如果要实现就必须修改源码,这是我不愿意看到的,另外一方面,以后的项目肯定会引入websocket,所以引入redux是势在必行。引入redux在某种程度上来说是增加了项目开发的复杂度,但是本人亲自开发了一下,真的是对state能够友好的管理,而且navigation和redux配合使用能够减少Deviceemit的使用,减少全局变量满天飞的现象。
使用RN时间算起来也有半年了,整体上来说,RN还是比较尽人意,特别是性能上,真的是比H5开发的APP好很多,接近原生开发的APP,同时RN对人员的能力要求真的是比较高,既要懂web也要会native的东西。如果你不懂一点native,你开发起来会比较辛苦,特别是有引入别人的插件,涉及到原生部分报错,会让你焦头烂额。
随笔写下,无聊的生活总想找点东西弄弄,深圳的国庆节还是比较炎热的。
网友评论