Column大概是每个Flutter新手的第一行代码。官方文档拿它当入门示例,YouTube教程里它出现频率比"Hello World"还高。但一个诡异的现象是:生产环境里最流畅的UI,往往看不见它的影子。

问题不是Column有多差,而是它被当成了万能胶水。列表套列表、动态内容硬塞、嵌套层级失控——这些典型翻车现场,多半始于"先用Column试试"。有开发者吐槽:「Column是把锤子,但不是什么都能当钉子砸。」

真正写过多款上线App的人,打开布局文件前的第一反应不是"用Column",而是先问自己到底需要什么。需要滚动?用ListView。需要均分空间?用Expanded配合Flex。需要响应式?用LayoutBuilder。Column被降级成了备胎选项,只在确实需要垂直堆叠且内容可控时才出场。

这种思维转换的代价很真实。某电商App重构时把嵌套Column换成CustomScrollView,帧率从卡顿边缘拉回60fps,内存占用降了40%。团队复盘时发现,80%的性能问题都源于"先用Column顶上"的惯性。

Flutter团队从未公开反对Column,但官方示例库里的新代码早已减少它的出镜率。一位Google工程师在GitHub issue下的回复被截图流传:"我们还在找更好的默认推荐,但文档更新比代码慢得多。"