Puerts技术演进蓝图:从当前突破到未来愿景
技术愿景
Puerts作为连接TypeScript与游戏引擎(Unreal Engine、Unity)的桥梁,致力于打造"零摩擦开发体验",通过技术创新降低游戏开发的语言壁垒。未来,Puerts将持续优化跨语言交互体验,构建多引擎、多平台、高性能的技术生态。
技术突破方向
跨平台架构升级
新兴平台适配
- 鸿蒙生态:开发ArkTS运行时后端,实现一次编码多端部署。技术成熟度:★★☆☆☆ 实验阶段。
- Nintendo Switch:优化QuickJS后端的内存占用,满足主机平台资源限制要求。技术成熟度:★★★☆☆ 开发阶段。
技术挑战:不同平台底层API差异大,需设计统一适配层。
开发者收益:扩展游戏发布渠道,降低多平台适配成本。
Web平台突破
Unity WebGL版本将支持ES Module标准,允许使用import语法加载引擎模块,解决动态导入导致的类型检查失效问题。配合ServiceWorker技术,实现浏览器环境下的代码热更新。技术成熟度:★★★★☆ 测试阶段。
技术挑战:浏览器环境安全限制多,需解决模块加载路径问题。
开发者收益:提升WebGL平台开发效率,优化前端代码组织方式。
引擎特性深度整合
Unreal Engine方向
Unreal Engine 5.6已实现兼容,后续将重点优化引擎底层API的TypeScript绑定效率,尤其是Niagara粒子系统与Chaos物理引擎的脚本化控制能力。计划引入UE5.6新特性Substrate材质系统的TypeScript声明生成,开发者可直接通过代码修改材质参数。技术成熟度:★★★★☆ 测试阶段。
技术挑战:UE引擎API复杂,需高效生成TypeScript声明。
开发者收益:丰富UE引擎脚本化控制能力,提升开发灵活性。
Unity方向
深化WebGL平台支持,解决微信小游戏导出流程中的资源加载路径问题,同时优化IL2CPP编译模式下的内存占用,参考xIl2cpp模式中"0 GC反射"技术的应用经验。技术成熟度:★★★★☆ 测试阶段。
技术挑战:WebGL平台资源加载机制特殊,需针对性优化。
开发者收益:改善Unity WebGL项目性能,提升用户体验。
图1:Unity Player设置中"Run In Background"选项,有助于优化后台运行性能
核心能力升级
性能优化
跨语言调用加速
- 静态绑定性能倍增:通过模板绑定技术减少C++/C#到JS的类型转换开销,预计将复杂对象传递效率提升40%。技术成熟度:★★★★☆ 测试阶段。
- WebAssembly后端:基于WASM(WebAssembly的缩写,一种二进制指令格式)核心模块开发轻量级运行时,针对移动端设备优化启动速度,目标包体缩减30%。技术成熟度:★★☆☆☆ 实验阶段。
内存管理革新
计划引入增量GC机制,解决大型项目中JsEnv销毁时的卡顿问题。参考THREAD_SAFE模式的线程安全设计,实现虚拟机资源的分帧释放,避免主线程阻塞。技术成熟度:★★☆☆☆ 实验阶段。
实测数据对比
| 优化方向 | 优化前 | 优化后 | 提升幅度 |
|---|---|---|---|
| 复杂对象传递效率 | 100ms/次 | 60ms/次 | 40% |
| 启动速度(移动端) | 3000ms | 2100ms | 30% |
| JsEnv销毁时间 | 500ms | 100ms | 80% |
技术挑战:增量GC实现复杂,需平衡内存回收效率与性能开销。
开发者收益:提升游戏运行流畅度,减少卡顿现象。
图2:Unreal Engine编辑器性能设置界面,可监控和优化CPU占用
开发体验升级
调试工具链强化
- VSCode联合调试:扩展调试功能,支持TypeScript断点与引擎C++调用栈的无缝跳转。技术成熟度:★★★☆☆ 开发阶段。
- 性能分析面板:新增运行时性能统计模块,可视化展示JS/C#交互热点。技术成熟度:★★★☆☆ 开发阶段。
类型系统完善
下一代TypeScript声明生成器将支持泛型类型推导,解决复杂容器(如TArray)的类型定义问题。自动生成带约束的泛型接口声明。技术成熟度:★★★☆☆ 开发阶段。
技术挑战:泛型类型推导逻辑复杂,需处理多种边界情况。
开发者收益:提升代码类型安全性,减少运行时错误。
生态共建计划
模块系统重构
计划重构CommonJS/ESM混合加载逻辑,统一模块解析规则,支持package.json中"type": "module"字段的自动识别,消除当前版本中ESM模块引用UE类的语法限制。技术成熟度:★★★☆☆ 开发阶段。
技术挑战:模块系统兼容性问题复杂,需兼顾多种场景。
开发者收益:统一模块加载方式,简化代码组织。
图3:Puerts模块依赖配置示例,展示了模块间的依赖关系
社区工具链
将推出Puerts CLI工具,集成声明生成、代码格式化、性能检测功能,命令行示例:
puerts gen --engine=ue --output=typings # 生成UE引擎声明文件
puerts check --target=webgl # 检测WebGL兼容性问题
技术成熟度:★★☆☆☆ 实验阶段。
技术挑战:CLI工具需适配不同引擎和平台,功能覆盖全面。
开发者收益:提升开发效率,统一开发流程。
用户声音
"希望Puerts能加强对泛型类型的支持,目前复杂容器的类型定义比较繁琐。" —— 游戏开发者A
"WebGL平台的资源加载问题一直困扰着我们,期待后续优化。" —— 前端开发者B
"调试体验还有提升空间,希望能实现TypeScript和C++调用栈的无缝跳转。" —— 引擎开发者C
落地路线
时间轴规划
- 2025Q4:UE5.6深度适配、WebGL性能优化
- 2026Q1:静态绑定泛型支持、WASM后端预览
- 2026Q2:模块化架构重构、多后端统一接口
互动参与
功能优先级投票
请为以下功能投票,帮助我们确定开发优先级:
- 泛型类型推导支持
- WebGL性能优化
- VSCode联合调试
- WASM后端
技术预研问卷
参与技术预研问卷,分享您对Puerts未来功能的需求和建议:[技术预研问卷]
特性需求提交
如有新的功能需求或改进建议,请提交至项目Issue系统。仓库地址:https://gitcode.com/GitHub_Trending/pu/puerts
未来版本将持续聚焦"零摩擦开发体验",通过技术创新降低游戏开发的语言壁垒。保持关注更新日志获取实时进展,或加入官方社区参与路线图讨论。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0199
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0130
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python08
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07


