各位好,
正在为一个移动应用选型,团队没有Java或iOS资源,不具备快速实现原生应用的能力,至少短期内没有,所以考虑用web技术栈来开发,很自然地要比较React Native和ionic 2。已经有过粗浅的了解,React Native原生编译以后的性能看起来要明显优于Ionic,特别是Android上。但作为选型,性能虽然重要,但只是诸多因素之一,还有开发友好程度,短长期成本,Time-to-market等等,期望找到各方面较为平衡的技术栈。
这个应用有两个主要用例:搜索和播放器,搜索没有特殊功能要求,播放器很可能需要一些自定义。需要至少支持Android和iOS,是一个长期项目,从用户数据来看,支持Android 4.4+就可以,不需要支持低版本系统的手机。
从用Ionic 2实现的原型来看,开发比较容易,因为基本上就是web app的开发,没有碰到特别难的问题。React Native还没有实际操作,想听一听有经验的同行的评价,除了性能优势以外,React Native有什么问题,毕竟一个技术不可能只有优点,没有缺点。
之前对ionic典型性能问题的考察,分享以下两个链接
- Crosswalk http://geeklearning.io/boost-your-ionic-app-performance/
- Virtual Scrolling http://ionicframework.com/docs/v2/api/components/virtual-scroll/VirtualScroll/
谢谢。
播放器是指什么播放器,音乐播放器吗,要实现到什么程度?这里估计没用懂原生开发的人的话,react或者ionic甚至cordova,实现起来都不是很简单。
本人是原生开发者,Android和iOS都做,react-native也尝试过。个人使用感觉,react-native全面优于ionic。
根据楼主的情况,建议尝试react-native,有Web经验的话,可以快速产出。 但是,如果这个项目是一个长期维护项目的话,还是建议着手组建原生开发团队做原生项目在后期替换掉。
目前react-native距离原生的项目还有很大的差距。如果只是纯粹的界面应用还好,如果涉及其他功能,比如音乐播放、视频或者其他功能,这里的功能扩展如果团队没有懂原生开发的估计很难进行。
@TakWolf 像这样的播放器 https://www.jwplayer.com/products/jwplayer/ 我对React Native有同样的顾虑是这样的东西估计不用WebView很难编译成原生Component