flutter搭配claude 千字长文心得体会

目前用window端Claude 软件搭配去开发,mcp读取整个项目原生flutter的ui,想全部更换为flutter-shadcn-ui遇到了不少难题。

先说结论:很失望,又很可惜。

第一、Claude的上下文有限,pro写代码总是不太舒服,基本修改几个文件就得更换下一个chat对话,防止token快速消耗完。

第二、Claude3.7s并不是万能的,写的代码,拉取的依赖比较老,所以有时候一个问题解决不了,得多次询问才解决,而且得到的组件代码对比官网还是老的,因为拉取的依赖本来就是老的,写的代码也就一坨怪怪的。

第三、Claude的mcp模式和window去使用总是有一些小bug,比如修改的文件的过程中,整个软件会黑屏,这里是可以用左上角的view-reload。但是你修改的文件的会突然丢失。还要Claude如果读取本地文件的过长的时候,特别是他需要去修改,有时候会多次编辑,这个时候你会发现这个文件压根没有修改成功过,因为上下文的限制,你需要每次打个“继续”,他才会动,这个时候他又重头开始写代码,导致你不断打”继续“,他的上下文不够,又只能写到差不多的位置,所以你的文件压根就写不成功,这个真算bug,偶会会出现,你多次回复继续的话,你的上下文一下子就爆了,这个时候你只需要新开个chat或者重启下Claude即可。

第四、也是最致命的弱点,也就是你必须保证你的上下文能够完全修改文件,不然你就得做好时时刻刻用git保存代码的习惯,不然token爆了的时候,code写到一半就突然就停了,你就尴尬了,又得得5个小时左右才恢复限制

第五、遇到限额了,一定一定不要用傻逼 claude3.5haiku。这个模型就是个智障玩意,啥都不懂,不懂装懂,项目一用来稍微写写,你的调试时间可以说没有7、8个小时搞不定。还是乖乖的等待3.7sonnet去帮你规划代码

好,吐槽了这么多,我这里讲讲我的目前的应对的小方案。
第一、写项目一定一定得创建project,写好规划的内容。这个规划的内容好像没有作用,我新建对话,选择项目的时候,他有时候压根不知道项目,我需要干什么,怎么干。
第二、创建好project以后,当然新开对话,按照你的任务需求,先让它总结读取整个项目的内容,代码结构。然后继续新开另外一个对话,把上一个对话的总结给输入进来,大体的结构是这样的。

上一个总结归纳
+我的目的
+规范

我来演示下
上一个总结归纳 (直接复制) + 我现在需要对这个flutter的ui改为官方的(提取需求即可) + 第一、现在我会把权限都给你,请你务必实时对我文件进行修改。 第二、问题总结 开始时,请先简要总结整个问题的核心内容和主要目标。 例如:“我需要解决的问题是……,目标是……。” 拆分进度 如果问题较为复杂,请将整体任务拆分成多个小步骤或进度。 每个进度都要有清晰的说明,包含当前进度的目标和需要完成的具体内容。逐步解决与汇报 在解决完一个进度后,立即结束当前任务,进行汇报。 汇报内容包括: 已完成的进度(例如“第1个进度已完成”) 未完成的进度列表(例如“剩余进度:进度2、进度3……”) 第三、用户确认后再继续 在准备开始下一个进度之前,主动询问用户是否“确认”继续。 例如:“是否确认开始下一步?请回复‘确认’以继续。”

最后:先说我项目背景,我是已经很久没有写flutter了,现在把项目react转到flutter,然后对项目进行ui美化。不得不感概现在有了各种ai的加持下,写开发越来越容易,但是呢很多问题,一旦你用ai去跳过去了,你最后还是要学回来,就好比今天早上ai帮你吃一坨,指不定ai晚上拉出一坨让你吃。你必须学会学习,面对更快的更强的开发,为了更高效率,你肯定得弄懂项目结构,语法等等,这样才能相辅相成,都说claude很强,体验了三天pro的我并不觉得,他很强,但是还是不够强。

对了,如果佬有相同的问题的话,如果解决了,欢迎提出解决方案,十分感谢。目前最该死的是Claude拉取的依赖太老的这个问题,不知道如何解决,到底联网了么?还是说联网了还是这么拉跨。

觉得我写的不错的话,希望大佬们点个小爱心,顶顶帖子,感谢感谢。

25.3.14号继续更新
我选择用cursor去编程了,以上的问题都解决了。


没想到这个是我第一个算是比较轻松的app,花了有6天左右的时间把redis的相关操作全部搬到了app端,兼容web端。感谢cursor感谢Claude。

9 Likes

我是用的cursor开发flutter顺带加个django后端,基本一直用的是claude3.5sonnet;cursor读文件还是很方便些,前面开发很爽的,直接库库写;
后面就是要注意下

  • 装新依赖的时候自己看下最新版本把文档丢给cursor
  • 多git一下,一个功能一保存
  • 代码多了之后拆分一下结构,避免一个代码太长上下文读不完
  • 最好提前规划下框架(我就是前面一股脑写,后面代码多了框架不标准,cursor效率就低了,经常联系不到相关的代码;重构花了累死 :tieba_087:
1 Like

目前佬,你用的是什么ui组件库。官方的么?

官方的 :tieba_087:

官方的ui的基本开发没啥大问题。库库写。但是一旦要求学习别的美化ui的话,就寄了。


我用cursor做了个种子管理的 除了回复比较慢基本没写一行代码

1 Like

佬友试试sonnet的API,那个200K呢

这个ui不错,佬是用cursor?还是api?还是Claude 的mcp去写?提示词是制定哪个库的么?

完全是ai自己写的 我啥都不知道

上下文是个问题,要求他写最新的组件库ui也是个问题。

啊?方便说一下提示语么?


我就说给我改成swiftui那样的

我在想是不是第一次由0到1开发比较适合Claude,感觉由1到1.5有点乏力啊

1 Like

啊这么厉害 没写一行代码

我不会flutter


我写了个redis的操作的增删改查,兼容web端

不厉害,Claude应该的

1 Like

你这个是纯安卓风

我也用过cursor写flutter,但写出来的代码一大坨,全在一个文件里面,又要告诉它拆分,问的途中感觉很麻烦

你哪里不满意就发截图告诉它改哪里