AI时代跨平台还有必要吗?
最近我总能刷到类似的问题,包括在OpenFlutter的群里也时常有人说:AI时代,都是AI写代码,还跨什么平台,直接撸原生就完了。
然而,事实真的是这样的吗?先说我的观点:不是,至少目前不是。
AI时代,为什么我们仍然需要跨平台?
首先,不可否认的是,你确实可以同时使用3种甚至更多种语言(Kotlin,Swift,JavaScript,ArkTs等等)在不同的开发环境下全凭Vide Coding实现相关代码,顺便再给这3、4套玩意各自配上一个DevOps流程,然后你就祈祷永远别出幺蛾子、不需要去硬啃这几种语言。但你也可以使用Flutter、React Native以及KMP这种跨平台方案,基本一套流程、一种语言就可以搞定所有。这样的话,如果某天系统出现了问题,你只需要搞定一种语言即可。
其次,如果你是一个重度AI撸代码者,你心里应该清楚,为了让AI生成出来的东西能用,你得跟调参大师一样不停地去修改Prompt。更糟糕的是,哪怕你按完全相同的顺序输入相同的提示词,甚至针对的是同一个平台和目标语言,你得到的代码几乎不会一模一样。毕竟,AI的Temperature(随机性)本来就很高了。
先不说"想要保证产品质量就必须进行质量控制和微调生成代码",只说跨平台,这事绝不像"把用在 Swift 上的提示词直接复制给 Kotlin"那么简单。在第二个平台上,你得重新经历一整轮疯狂微调提示词的折磨,才能勉强跑通。
之后每次应用需要改功能时,这种噩梦就要重演一遍:在第一个平台上输入提示词,改啊改、调啊调,直到代码能看了;然后去第二个平台,重复这一套改啊改、调啊调的过程。最后,为了让两个平台的行为保持一致,估计还有海量的微调工作等着你。
在这个过程中,又给我们带来了一个新的问题:这么多轮的Prompt,消耗的token谁来买单?当然了,你会说公司买单,但很多时候并不是这样的......
最后,我想说,我们仍然是需要抽象层的。当然了,这个抽象也可以靠AI完成。但是我们目前正处于 AI 普及进程中一个很奇葩的节点------很多人在鼓吹"管它什么问题,丢给 AI 就完了"。甚至包括跨平台这种早就有了成熟解决方案的问题,他们也想用 AI 碰碰运气。
这在很多层面上都是个极其糟糕的主意,但不知为什么,我们大家似乎集体失忆了,忘干净了我们最初为什么要建立起如此充满活力的开源生态(顺便说一句,现在的 AI 正是靠着这个开源生态在供能)。
结束语
AI时代,也许未来某天跨平台会被AI取代,但绝对不是现在。
所以,为什么不干脆像个正常人一样,用 AI 来辅助你写 Flutter/RN/KMP 呢?