前言
AI时代,真的人人都是程序员?这句话本来我是半信半疑的,直到不久前看到某个设计师朋友在AppStore里发布了一堆他自己做的App,于是我相信了。现在也想来测试一下普通人如何在AI的帮助下,一行代码不写,完成应用的开发和部署的。
需求来源
开发一个拼接长图片的app,作用很简单,就是把多张图片拼成一张大图。
- 微信的朋友圈只能最多发9张图,如果每次有大量照片要发,就必须把多张图片拼接起来变成一张
- 直接用带skills的AI工具(比如Coze)做,有水印,文件大小和数量有限制
- A推荐我使用微信的收藏笔记功能导出拼接图,尝试了之后发现效果很差,图片中间有白色间隙,而且总长度超过某个阀值,导出图就会被截断
- 我在应用商店找到一款拼图App,虽然能够导出完整长图,但是需要收费,而且交互效果不好,拼图任务不能预览不能编辑,意味着每次操作出一丁点错误都要重头开始,导出图片质量还会被压缩
- 我对图片的拼接有个性化需求,希望图片不仅在垂直方法拼接,也可以水平拼接,甚至九宫格拼接
技术调研
- 开发工具选择常用的Trae: 支持Gemini、GPT、Kimi、Deepseek等各种主流模型的max版本
- 在开发之前还是在豆包上做了下核心技术调研,前端拼接有明显短板,Canvas尺寸限制了导出图的尺寸,在移动端浏览器尤为明显,于是在AI指导下选了Node.js+Sharpe
开发步骤
-
开启trae的SOLO模式,选SOLO Coder,因为可以先让AI生成开发方案。
-
输入我的需求
💡需求:我想要制作一个app,可以实现把图片拼合在一起的功能,包括h5端可以让用户操作,管理端可以让管理员维护数据
- 可以选择向下拼合或者向右拼合,图片之间不要留缝隙
- 拼合后点击导出,可以直接导出为一张长图
- 每次操作后可以把当前任务保存下来,每个用户可以在后续打开继续编辑
- 管理端包括以下功能: 用户管理,维护所有系统用户 任务管理,维护所有用户的任务 图片管理,维护用户上传的所有图片
技术要点:
- 核心功能拼图,在nodejs端,使用Sharp(基于高性能 C++ 库
libvips)来实现 - 使用h5技术实现前端,使用vue3底层技术、vant框架
- 管理端使用element-plus来实现
-
trae思考了2分钟中生成了一份计划文档(包含了架构设计、技术栈、完整的数据模型、对应的SQL指令),等着我按下“执行”按钮,再进行开发。
-
按下“执行”之后经过一系列置身事外的AI思考和“同意运行”、“登录账号”操作,AI就帮我把代码写好同步到github,把数据库在supeBase(数据服务平台)构建好,把系统部署到了Vercel(服务托管平台),然后自动打开了trae集成的浏览器。
-
后续还让AI加了用户角色权限控制、API_KEY管理等功能,也非常轻松,只需不断细化需求就行了。整个过程真的不需要写一行代码。
扩展开发
光有系统还不行,我希望把拼图功能集成到各种第三方工具上使用,比如说Coze技能包、Dify工作流。
-
把需求告诉AI,让它先出一个方案文档,然后按“执行”,接下来跟着指示操作就行了。生成API之后还顺便创建了DEMO页面和接入文档
-
Coze技能:让AI参考接入文档生成skill包,然后丢给扣子编程就行了,它自己会分析然后生成技能,试用没问题之后直接点“部署”,就可以在扣子各种端使用了。
-
dify工作流:登录dify创建一个工作流应用,创建一个http请求节点,把刚刚生成的接口和参数填进去就可以了,测试运行无误后点“发布”。
然后就可以直接用了,也可以集成到hongling上使用
解决难题
事实上在开发过程中并没有想象中那么顺畅一条龙结束,还是会遇到各种难题,但只要耐心询问各种AI,最后总能找到答案。比如下面几个:
-
我给系统加了一些功能,同步完代码后发现部署失败了。Vercel提示的Serveles Funcion数量限制,超出后就无法自动部署了。
于是求助AI,AI告诉我所谓的Functions数量限制就是查看工程的api文件夹里有多少文件,超过12个就算超过限制,然后顺便帮我处理了这个问题。
-
部署后生成的网址和请求接口无法在国内访问。
AI说vercel.app这个域名在国内因 DNS 污染常无法访问,建议我购买一个域名做绑定,于是虚心听取意见在阿里云十几块钱购买注册了个域名,然后在它的指导下一步步操作绑定,然后解决了。
总结
啊,软件开发真的重新变得好玩儿。 有了AI这么便宜好用的助手/顾问/程序员,以后可不能说“我有一个Idea就差个程序员了”,有想法动动嘴就行了。欢迎加入华语全栈开发者编程阵营O(∩_∩)O哈哈~。