Flutter,源于内卷,为了内卷

最近Flutter很火,号称可以跨所有平台,出自google名门,受到了很多人的盲目推崇。在学了一段时间后,个人感觉这是一个内卷化的产物,意义不大。

Flutter的跨平台原理比较简单,就是向操作系统(或浏览器)申请一个显示画布区域(widget),然后在上面画各种东西。程序中显示的一切,都是flutter自己画出来的。例如界面上有一个按钮,有一个文本输入框,这些都不是原生开发中的button、textbox等,而是flutter模拟出了一个button,一个textbox。
这种方式确实可以跨平台,但有两个问题。首先,这不是什么新鲜的方式,大多数游戏开发引擎就是这么做的,而且非常成熟,非常易学。其次,它只实现了用户界面的跨平台,其他功能还需要原生开发。

从flutter和dart的代码和编程风格看,让人不得不怀疑,这东西是google的程序员拿着高薪没事干,整出来折磨全世界程序员的。

Flutter/dart的编程风格非常怪异,让人很难适应。大家知道,从微软推出VB开始,软件开发工具一直强调界面设计和代码分离。Android、微信小程序都是用xml文件存放界面,用java或js文件存放代码。早期的web开发将html界面和js代码混合在一起,后来也一直强调两者分离。而Flutter/dart倒好,把一切又改回去了,整个dart文件,都是密密麻麻的界面元素和代码,全部混在一起。

简单的用户交互,也要搞一大堆稀奇古怪的概念,stateful、stateless、<State>等等,能不能像android那样做个界面编辑器?“所见即所得”是20多年前就有的理念,怎么“最先进”的flutter反而没有了?微信小程序也是响应式编程啊,界面和代码也是分离的,用起来多方便。

有关Flutter/dart最令人反感的地方,就是各种对象层层嵌套,看得眼花缭乱。想给一段界面元素加个属性?对不起,必须增加一层嵌套,加一对括号。就是这么霸道。

还有一个细节,用vscode开发flutter,一个tab键占据两个空格的位置,不管你怎么设置,就是两个空格,而不是大家习惯的4个。在官网上有人提出这个问题,官方说这是规定的,但可以发起一个调研,看有多少人喜欢改用4个空格的。这还要调研,你听取开发者意见,搞个自定义不就完了吗?

现在的软件开发工具太多了,程序员已经够累了,真没必要去搞这种怪异的东西。如果你想同时做ios和android的app,建议学两种原生开发工具,可能比学flutter更省事。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值