React Native框架优势
-
React Native使用的JavaScript语言开发, Flutte使用的是Dart语言,对于移动端开发者来说都存在这一定的学习成本,JavaScript的历史和流行程度远超于Dart,生态也更加完善,开发者远多于Dart
-
从页面框架和自动化工具来看, React Native也要远领先于Flutter. 这主要得益于Web技术这么多年的积累, 其工具链非常完善,前端开发者能够轻松的掌握React Native,并进行移动端开发
Flutter的优势
- 性能上优于React Native
- RN 所使用的JSCore,原本用在浏览器中,用于解释执行网页中的JavaScriptd代码,为了兼容Web标准留下的历史包袱, 无法针对移动端进行性能优化
- Flutter 一开始就抛弃了这种包袱,使用全新的Dart语言进行编写,同时支持AOT和JIT两种编译方式, 而没有采用HTML/CSS/JavaScriptz组合方式开发, 在执行效率上明显高于JSCore
- 开发效率体验优越
-
凭借热重载这种急速调试技术,极大的提升了开发效率
-
Flutter因为重新实现了UI框架,可以不依赖IOS和Android平台的原生控件,所以无需专门去处理平台上的差异,在开发体验上实现了真正的统一
因为引擎定制问题,flutter包的大小是一个问题,从长远来看,App store对包的大小的限制只会越来越小,所以说这个问题一定不会成为卡点动态化能力默认不支持在ios上面热更 -
Flutter和React Native技术方案选取
-
短期项目为了支持跨平台对性能要求不高可以考虑RN,到那时如果对性能有较高的要求建议使用Flutter
-
长期个人更加看好Flutter,谷歌的新系统Fuchsia系统的最上层就是Flutter,如果Fuchsia得到推广,使用Flutter来开发App成了首选,而Flutter本身就是一种跨端方案,一旦使用Flutter开发成为团队的必选项,那么其他技术栈就没有存在的价值了