lufei's Studio.

吐槽 flutter

字数统计: 1k阅读时长: 3 min
2021/04/08 Share

前言

由于某些原因,我竟然开始了解学习最近火热的跨平台技术 Flutter,并开始尝试改写我的项目,在改写了几个模块后,终于我忍无可忍,一定想要吐槽吐槽它。

必须承认,我目前对 flutter 的了解,也仅仅是初学者的状态,所以很多观点还很幼稚,不成熟,我的吐槽也仅仅是一个初学者的小情绪而已,对于谷歌团队的多年努力,大家还是有目共睹的。

下面我就开吐了!!!

吐槽

首先就是报错信息的不明确,很多时候,报错信息我都期待能起码告诉我错误出在哪里,但是 flutter 的报错,我就遇到很多时候,根本看不出来哪儿有问题,根本说明不了任何问题,去谷歌上搜,很多时候,都提醒我也许,flutter clean 一下就好了,真是离谱。

官方文档看上去说的很详细,然而很多我觉得需要讲清楚的地方,也是含糊不清,举个例子,我个人认为在 json 解析这块,是 flutter 项目中很麻烦的地方,官方文档虽然有对 json_serializable 的简要说明,但是那个说明实在可能实在过于简要,实际使用中有很多坑要踩,让人很心累。

另外对于 andriod 的工具链,尤其是 andriod studio 这个开发工具,真是太垃圾了,以前我觉得 xcode 就够垃圾的了,自从用过 andriod studio ,看 xcode 都觉得眉清目秀的,使用 andriod studio 的过程真是噩梦一样,以至于我后来一直使用 vs code 来写 flutter 的,确实清爽很多。

其实 Flutter 仅仅是个不错的跨平台 UI 框架,然而繁重的跨平台三个字真是压得它包袱很重,一旦牵扯到原生能力,比如相机,蓝牙,Flutter 就变得不那么方便了,虽然也提供了与原生通信的方式,也有第三方包帮助你抹平了平台差异,但是这也带来很麻烦的维护问题,尤其是就算是官方维护的第三方包,就我的使用体验来说,也并不是那么好用,有这个时间,为什么不去直接写原生呢?

再说说 flutter 最大的卖点热重载,事实上也并没有说的那么方便,仅仅是关于当前 widget 的更新。

再说布局方面,这一点确实是我在使用过程中,为数不多,觉得 flutter 还不错的地方,起码比 iOS 方便很多,然而代码的美观上真是一言难尽,当然也有我学艺不精的责任,但是我认为,这种类似是在写 xml 的方式,真的能写的很美观吗?

还有图片资源的管理,真的好烦啊,就不能有再方便一点的方式吗?我的天!

还有,如果一台普通的 mac pro 上同时装有 xcode 和 andriod studio 是什么感受,可能是世界末日吧,那风扇转的我的心每一分每一秒都在绞痛。。。

使用 flutter 小结

对于 flutter 来说,其实最好还是作为一个 UI 框架,以模块的形式集成进原生项目,不会真的有人想做纯 flutter 项目吧,目前来说,我觉得这样的思路很离谱。

对于 flutter 项目中使用原生原有的模块,我能想到比较好的方式应该是把原生的业务逻辑拆出来,生成插件引入 flutter 项目。

通过这段时间的学习和使用,确实也算学了点新东西,基本上把手头上的一个 app 改写的差不多了,基本上也能写出个简单跨平台的 app 了,当然细节上,肯定还是不够好,如果以后真的有必要的话,还是会继续学习的,这一阶段的关于 flutter 的学习,先结束吧,累了!

swift 真是世界上最好的语言啊!

CATALOG
  1. 1. 前言
  2. 2. 吐槽
  3. 3. 使用 flutter 小结