RN开发总结
RN方案的优势
相对于纯原生开发,我们为什么要选择RN?
项目价值
-
提升产品迭代速度
- APP迭代周期变短
- 需求/交互评审不再需要与多端开发同时沟通
- 产品走查不再需要同时兼顾IOS和安卓端,避免多端开发理解不一致。
-
提升开发测试效率
- 同一功能由一人负责,避免多人负责因沟通不及时,需求理解不同导致平台实现差异。
- 多端业务代码相同,测试同学不再需要多端重复验证,仅需关注少量的平台兼容问题。
-
减少研发成本
- 减少多端重复开发的成本
- 减少测试多端重复验证的成本
- 开发测试人力成本减少40%
团队价值
- 代码统一
- IOS与安卓端代码80%以上相同,代码复用率极高。
- 逻辑和UI组件,解决大部分平台差异,只需维护一套组件的质量。
- 逻辑组件(如fetch)所有前端项目通用。
- 技术统一
- 前端项目均采用JS语言遵守ES6模块编码规范。
- 一致的项目构建方案,版本依赖管理。
- 团队统一
- 促进大前端成员技术交流。
- 团队成员项目共享,同时具备多端开发的能力。
- 提供团队成员个人发展更多的选择。
- 各端同学在工作与技术上将产生更多交流的可能。
其他价值
- 热更新
最容易被关注的特性,但本非RN方案的核心价值
- 前端同构
为服务端开发与前端项目代码复用提供了可能。
- 快捷的开发调试
RN方案的问题
- 团队成员要求高,需同时熟悉JS和客户端开发。
- 架构设计难度大,需精通JS和客户端开发。
- 缺乏实践性的技术积累和高水平的人员储备。
- 一般功能开发速度很快,但交互特效,键盘等仍需原生支持。
- 产品不能过于关注特效优化,比如为体现自身APP的不同,加入大量渐变,复杂动画,键盘定制等。这些不同于原生的积累,将尤其耗时。