uni-app和flutter这是两款十分优秀的产品,几乎做到了各自领域性能和跨平台的极致。
uni-app 是一个使用 vue.js开发前端应用的框架,开发者编写一套代码,可编译到iOS、Android、H5、以及各种小程序等多个平台。
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。
下面我们将简单的介绍一下flutter和uniapp这两款产品跨平台产品有什么区别:
技术学习成本和难度
flutter,要求开发者学习dart,了解dart和flutter的API、要求精通flex布局,要求原生开发协作。
uni-app,要求开发者学习vue,了解小程序。
很明显uni-app的学习成本太低了,它没有附加专有技术,全部使用公共技术。
学习成本和难度,直接意味着:开发成本、招聘成本、上线速度、上线风险。
生态
对于国外的开发者,flutter是谷歌的移动UI框架,生态肯定比uni-app好,比如facebook登陆分享、Google地图等。
但对于国内的开发者,那是反过来的,中国开发者需要的全端推送(UniPush集成了iOS、华为、小米等众多原厂推送)、各种国内登陆、支付、分享SDK、各种国内地图、各种ui库、以及Echart图表等,都是在uni-app体系里,这方面生态可比flutter丰富多了。
其他端的跨端性
flutter支持OS、Android、H5,甚至可以在谷歌最新的操作系统上Fuchsia进行运行,经过第三方扩展,甚至可以跑在MacOS和Windows上。
uni-app支持iOS、Android、H5、微信小程序、支付宝小程序、百度小程序、头条小程序、QQ小程序。现在,中国离不开小程序,flutter官方暂不会支持小程序。
最后总结下flutter与uni-app的比较:
•flutter的相对优势:
•性能好。但在很多场景下,与uni-app相比差距并不明显。
• 调试工具好。uni-app在App端过去没有独立调试工具,开发者可使用小程序工具的调试功能。在新的2.1版起,uni-app在App端提供了独立的调试工具
• flutter的相对劣势:
•原生可视控件融合不好,比如webview、video、
•ui库不适合国情,不支持小程序
•学习成本高
•dart未来扑朔迷离