跨平台
ionic :
- 一次开发,随处运行(一套代码,两个平台运行)
react-native:
- 一次学习,随处开发(也就是ios和android开发两套代码)
开发方式
ionic:
- html+css+angularjs
react-vative:
- js+css
功能
ionic:
react-native:
- 与native混编,可以达到全部支持!
性能
ionic:
- android 2G内存以上的手机,ionic编写的app基本上和原生性能相当。
- android 通过优化基本看不出和原生差别
- android 低配置的手机添加 crosswalk 插件以后 体验较好,但是app打包偏大。程序运行内存占用较大(网络数据对比同款产品,内存占用100+M)
react-native:
- 基本接近原生性能
优劣对比:
ionic:
- 纯web思想,开发速度快,文档全面,开发者多。
- 但不适合游戏类型app,对于比较耗性能的地方无法利用native的思维实现优势互补,如高体验的交互,动画等。
react-native:
- 虽然需要编写两套代码,但是都是相同的语法。更贴近原生!
- 开发要求较高,需要懂native code。
建议
ionic:
- 在小项目中使用ionic,这样不会有太大的负担。
- 在不太注重性能的应用中应用
react-native:
- 在特别考虑性能的应用中。
总结:
- 开发水平很重要,html开发的app可能比原生的更快。主要还看开发人员的水平以及会不会优化
- 适合自己的,才是最好的!
Ref:
- http://stackoverflow.com/questions/35692921/ionic2-angular2-or-react-native
- http://www.ionic.wang/article-index-id-64.html
- http://www.phonegap100.com/article-486-1.html
- http://www.joshmorony.com/8-reasons-why-im-glad-i-switched-to-the-ionic-framework/ 我为什么转向ionic框架
发现个react 和ionic的结合体:
http://reactionic.github.io/