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