Flutter是一个有争议的框架,就像臭豆腐一样,喜欢它的人觉得它很香,反之觉得很臭,也有些人介于之间,既觉得它臭,又忍不住捂紧鼻子吃一口喊真香。
Flutter出来好一段时间了,也已经成为热点,有不少人对它进行了了解或尝试,纠结于选择使用WebView、RN与Flutter之间。然而,若我问出一句:
Flutter成熟了吗?
估计不少人回答不出来。
至今仍有5000多个issue未解决……Bug修复与更新较慢……插件质量参差不齐,有些常见功能不能实现只能曲线救国……
Flutter正式版出来时间已经不短了,但还是有很多坑,而这些坑有些还是比较难填的。
学习成本较高……
你看一些文章,动不动说他是运维或测试人员,甚至是与计算机无关行业的人士,无相关经验,接触后发现很快上手,然后怎样怎样的…让人产生“Flutter学习成本不高”的错觉,我想说他们大多使用不深而已……
在我看来,Flutter的学习成本有以下几点:
技术差异性。
与现有前端技术有一定差异性,使不少Web前端或原生开发者早期对Flutter使用多少有点不适应,往往要应对像样式的处理、序列化与反序列化(不支持反射)、UI构建、状态管理、热更新等等问题。莫名其妙的报错问题。
IntrinsicHeight、shrinkWrap、physics等——对不起,布局溢出。
setState失效——对不起,请注意State在Modal、Dialog、Drawer中使用。
状态没有维持——对不起,为了性能,会自动释放,请继承类处理。
……
上述是因为使用不当导致的问题,往往你没有遇到你不会知道,纵使你身经百战……还有一些是使用对了也出现的问题,是框架的Bug,但是你已经被虐千百遍了,你会怀疑是自己的问题……调试不方便
虽说有热重载、断点调试、Flutter Outline等,但UI调试、网络请求调试、异常排查(提示欠精确)等等还是不太方便。还有一些,是我本来想吐槽的,但是已经适应了……
那Flutter能用吗?值得用吗?
我会告诉你:如果你当前不考虑Web端的话,能!值得!因为Flutter的性能、兼容性其实还可以的,还能快速改造原有项目,跨平台同时,你可以使用它做一些酷炫的效果而不太丢失性能。
可预知Flutter会越来越成熟,成为越来越多企业使用的技术。
虽说这样,我仍会在使用Flutter过程中,有时候忍不住想骂娘……
香者犹香,臭者仍臭,臭豆腐,合你的胃口吗?