vibecoding了一个很简单的安卓app,长上面这样
有人说,这么简单的玩意,vibe coding不是一句话就写完了么
但对于我这样的小白来说,一句话还真做不到,并且也踩了挺多坑
首先就是技术选型上,有挺多种,要找一个适合自己,适合vibe coding的,比如
- androidstudio + ai 编程工具(如果需要跨平台的话,就再加一个 flutter)
- uniapp:可直接做 app 或者做成小程序然后再发送到桌面
- 做成网页再打包成 app
- manus + github actions
- idea+android 插件
- Capacitor
最后我选择了as,即androidstudio,下面统称as,编程工具选用的是trae+glm4.7
粗糙的提示词
然后就是开始vibe coding了,说实话,我也不知道我想要的App长啥样,也不知道应该有哪些功能,于是我最开始的提示词如下:
我想要开发一款早起打卡的安卓端的软件,功能有:
1.打卡按钮
2.记录打卡的时间
3.数据保存在本地
但是这样出来的UI太丑了
设计UI
于是用figma的make功能,让ai生成了一版设计稿,这个设计稿的质量就高多了,还有交互功能,并且是可以通过url链接访问的
怎么让AI看到UI设计稿呢?
既然设计稿可以通过url链接访问,那就直接配置chrome浏览器的mcp吧,让Ai有能力访问浏览器来查看设计稿
这样AI不仅可以通过截图查看浏览器界面,还可以点击设计稿中的按钮,进行交互,查看交互后的UI界面
但是改出来的UI效果只有一半像。之前使用google的stitch+studio,UI效果基本一模一样。
修bug,加功能
修改完UI之后是美观了,但是还是有很多bug
然后我就让trae改bug+添加功能,用的glm4.7模型,如果某个bug没改好,我就让反重力来改
什么是反重力?就是google家的ai编辑器,叫
Antigravity
改了几次发现,还是反重力强,也可以说是gemini强,trae解决不了的bug,反重力都能解决
最后磕磕绊绊,修修改改的还是vibe coding出来了,git 日志大概这样:
感受
vibe coding的过程中,我确实一行代码没写过,也没看过,我也看不懂
但确实开发出来了,不过我还是蛮心慌的,心慌的点在于
我感觉对整个项目代码是不可控的,有没有bug,完全靠测试
其中有些逻辑,我完全不知道ai是怎么写的
就比如最简单的功能,统计早起天数,有两种写法:
1.是否早起,当天就确定了,后续不管如何变动,都不会影响当天的早起状态
2.每次根据最新设置的早起时间来统计早起天数,也就是之前是否早起都由现在设置的决定
由于我并不知道ai是怎么实现的,所以我只能通过后续的测试来发现
问题与改进
- 没有设计UI稿
- 也没有写清楚完整的项目需求(就是初版提示词没写好),导致第一版的代码很不满意
- 将UI设计稿通过截图发给AI,让AI来实现UI的效果一般,后续考虑将UI设计的HTML代码发给AI
以上三点,都跟提示词相关,提示词太重要了,我的输入决定了AI的输出


