《轻量级工业数字孪生:基于 C#、Flutter 与 Babylon.js 的全栈实践》

4 阅读3分钟

轻量级工业数字孪生:基于 C#、Flutter 与 Babylon.js 的全栈实践

一个“双非”毕业生的被迫全栈之路

2025年6月,我本科毕业了。
软件工程专业,双非院校,手里攥着几份课程设计和一个“自我感觉良好”的 Java 简历,雄赳赳气昂昂地冲进了求职市场。

结果现实很快给我上了一课:
我以为的“热门技能”,在大厂眼里早已是“基础标配”;
我以为的“项目经验”,在面试官眼里连八股文都答不全。
线上线下投了几十份简历,面了十来家公司,不是卡在算法题,就是死在“说说 JVM 内存模型”这种问题上——害,属实是高估了自己,也低估了行情。

就在快要放弃的时候,误打误撞进了一家设备制造公司的软件部。

我的日常工作可以说是“全栈 plus”:
写 C# 后端接口,搭 Flutter 前端界面,做功能测试,打包部署系统,远程调试问题,甚至还要去车间给甲方装软件、配网络、现场演示。
从代码到交付,从办公室到产线,基本一条龙包圆了。

当然,也就是从这时起,开启了“被迫全栈”模式:

  • 没碰过 C#?学!
  • 没写过 Flutter?啃!
  • 不会配 Windows Server?装!
  • 连 Linux 命令行都得现查 sudo apt install 是干啥的……

好不容易把公司现有软件系统搞明白了,以为能喘口气,结果去年九月底,领导突然一拍脑袋:“有个画面太扁平了,改成 3D 的吧!”

我:???

于是,TypeScript、Babylon.js、Blender 建模、glTF 导出、WebView 通信……一连串陌生名词砸过来。
跟同学吐槽时,他们听完直接笑称我们领导为“当代犹太人”。

但说真的,我这人有个毛病:既然接了活,就算吃窝囊饭,也得站着吃
不会?那就学。没人教?那就查。没文档?那就试。

这一路跌跌撞撞,踩了不少坑,也慢慢摸索出一个大致可行的方向:
用 C# 做后端对接设备数据,Flutter 作为跨端容器,Babylon.js + TypeScript 构建 3D 场景,模型用 Blender 处理后再集成进来——整套流程跑通了,测试也没问题,理论上能用,但还没真正上产线。

写这个系列,不是因为我已经搞定了什么高大上的系统,而是想借着输出的机会,把零散的知识点串起来,把模糊的思路理清楚。
如果恰好也能帮到和我一样在制造业里“边干边学”的朋友,那就更好了。

我不是大神,只是个边干边学的普通开发者。
文章里可能有错误,架构也可能不够优雅,但每一段代码我都跑过,每一个坑我都踩过。

如果你也在制造业、自动化,或者正被领导“突发奇想”折磨的战线上挣扎——
欢迎一起交流,轻点喷,多指教。
毕竟,站着把饭吃完,总比跪着强,对吧?