今天无意中看到6年写的一篇文章,文章是关于用Flutter实现半圆菜单展开/收起功能,效果:

当时是通过Stack实现的,于是心血来潮,让AI生成相同效果的代码,开始的时候AI也是使用Stack实现的,然后我又问了下Flow组件的原理,下面是AI的回答:
在 Flutter 中,Flow 组件是一个为了极高性能动画而设计的布局容器。它不像 Column 或 Stack 那样在布局阶段确定位置,而是在绘制阶段(Paint Phase)通过矩阵变换(Matrix4)来决定子组件的呈现方式。
为什么需要 Flow?(性能优势)
普通的 Flutter 布局流程是:布局 (Layout) -> 绘制 (Paint)。当你使用 Positioned 或 Padding 做动画时,每一帧都会触发重新布局(Relayout),这涉及到复杂的几何计算,非常消耗性能。只布局一次:子组件的大小在初始阶段就固定了。变换在绘制层:通过 FlowDelegate 直接操作子组件的位移、旋转、缩放(Matrix 变换)。避免重新布局:动画过程中,Flow 不会触发 performLayout,只触发 paint。这让它在处理每秒 60/120 帧的复杂菜单动画时极其流畅。
核心机制:FlowDelegate
Flow 本身只是个容器,所有的逻辑都写在自定义的 FlowDelegate 类中。你需要重写两个关键方法:getSize定义 Flow 容器的大小。你可以让它撑满父布局,或者根据动画状态动态改变大小。paintChildren这是控制子组件坐标的地方。你会得到一个 FlowPaintingContext,通过它你可以遍历并绘制每一个子节点
然后又给了我一个Flow实现的方案。
以前阅读源码是非常枯燥、非常苦的差事,你需要反复翻阅 FlowPaintingContext,在 paintChildren 的绘制逻辑里来回理解,去理解那个复杂的Matrix4变换。
到如今,当技术获取的门槛因为AI而降到了几乎为零,我们学习底层技术的意义究竟是什么?
如果AI已经可以帮你读懂代码、生成代码,那么一个开发者花费时间去理解底层的实现原理,还有价值吗?
我们还需要高级语言吗?
然后,我又想到如果AI足够强,直接写汇编或C语言是不是效率更高?高级语言还有存在的意义吗?
我想至少目前还是需要的,原因不在于AI,而在于人。毕竟AI生成的代码需要程序员进行最后的确认,需要有人能够背锅。
但再过10年呢,我想高级语言一定会“后退”的。
新生代程序员在完全依赖AI的环境中成长,因为依赖AI而丧失了理解底层逻辑的能力,那么无论代码是汇编语言还是 Python,对程序员来说都是不可读的“天书”,高级语言的意义就会越来越小。
未来,代码可能会变成一种“中间产物”。你给AI一个需求,它生成一份人机共读的“高级语言代码”作为沟通,然后自动编译成极致优化的底层代码。
如果程序员看不懂代码了,系统的安全和准确性由谁来负责?训练专门的“AI审计”去查找系统漏斗?那么我们就会生活在一个由AI构建、由AI检查、但人类完全无法干预的世界里。
知识“深耕者”将成为稀缺资源

Vibe Coders(氛围编码者)
占绝大多数。他们懂业务、懂调优、懂提示工程,通过对话指挥AI产生结果。他们不一定理解指针、栈帧或缓存一致性,但他们能高效交付功能。
内核守护者
极少数人。他们依然精通底层原理、内存模型、指令集架构。他们是数字世界的“牧师”或“核工程师”,负责维护基础设施——内核、编译器、虚拟机。
你觉得,如果到了那一天,衡量一个程序员水平的标准会变成什么?
是看他能指挥 AI 做多大的系统,还是看他在没有AI时能写出多少行代码?
👀 往期精彩推荐
📢 诚邀技术创作者
让你的技术,变成真金白银 💰
我们正在寻找 Flutter、AI、技术成长等方向的原创干货。如果您愿意分享经验、观点或踩坑经历,可以获得:
• 丰厚收益: 可以获得阅读收益,收益上不封顶。 • 个人IP: 帮你打造个人 IP,文中可保留作者简介与联系方式。
✉️ 合作: 请添加微信:laomengit (备注:投稿)
👤 交流进群
想与更多开发者交流?添加我的私人微信,拉您进技术交流群,备注:“AI/Flutter加群”

欢迎关注公众号「老孟Flutter」,这里会持续分享高质量内容。
夜雨聆风