一个三年以上老项目加入React Native 模块的过程

来源:互联网 发布:php视频网站 编辑:程序博客网 时间:2024/05/18 01:57

最近RN在客户端app领域应用的比较多,比较广泛了,于是我们公司也在考虑加入RN模块来解决哪些频繁改动的模块,首先我们调研了一下,看看RN的各种优缺点,在调研过程中有一个链接写的很全面,各种优缺点,性能与Naive的差别等,链接如下:

http://blog.csdn.net/x32sky/article/details/59057649


刨去过程,文章结论如下

1、开发方式

(1)代码结构: React Native更为合理,组件化程度高
(2)UI布局:Web布局灵活度 > React Native > Native
(3)UI截面图:React Native使用的是原生组件,
(4)路由/Navigation:React Native & Native更胜一筹
(5)第三方生态链:Native modules + js modules = React Native modules

2、性能 & 体验

(1)内存:Native最少;因为React Native含有框架,所以相对较高,但是后期平稳后会优于Native。
(2)CPU:React Native居中。
(3)动画:React Native动画需求基本满足。
(4)安装包体积:React Native框架打包后,811KB。相比热更新,可以忽略和考虑资源规划。
(5)Big ListView
(6)真机体验:Native >= React Native > H5/Hybrid

3、更新 & 维护

(1)更新能力: H5/Hybird > React Native > Native
(2)维护成本: H5/Hybird <= React Native < Native

React Native定制难度相比Native有些大;但是具备跨平台能力和热更新能力。

所以,基于RN的的框架对哪些需要频繁修改的,实效性比较高的需求来说,简直是完美的解决方案!

比如广告和推广活动页面,无比适合

那么接着就是技术方面需要解决以下问题

先搭建开发环境,这个不能够成为主要问题,自己看文档搭建就好

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

1,RN 嵌入原生OC工程,当然需要混在一起编译,因为不可能全部改RN.

http://reactnative.cn/docs/0.31/integration-with-existing-apps.html#content

2,RN与原生模块通讯,RN往往需要从Native的模块里获取一些参数,比如userid什么的。

http://reactnative.cn/docs/0.31/communication-ios.html#content

3,热更新策略,要保证更新能够及时可靠,离线也能看见页面,最好还能够AB发布。

http://bbs.reactnative.cn/topic/249/react-native%E7%83%AD%E6%9B%B4%E6%96%B0js%E8%84%9A%E6%9C%AC

http://www.cnblogs.com/rayshen/p/5737293.html

4,熟悉RN API 培训语言

http://reactnative.cn/docs/0.31/communication-ios.html#content






0 0
原创粉丝点击