朱尼:Python 与 C++ 在朱诺引擎网页应用中联合

发布日期:2026-07-18 10:03:02   浏览量 :4
发布日期:2026-07-18 10:03:02  
4

你好,开发者们!:Juni —— 一种具有 Python 风格感的系统编程语言,可编译为 WebAssembly,用于基于名为 JunoEngine 的定制软件构建的游戏

网址

https://junoengine.netlify.app

The Hotpockets

我构建了 Juni,这是一种静态类型的系统编程语言,旨在实现 Python 级别的可读性以及类似 C++ 的控制力:无垃圾回收机制,显式内存/引用管理,并且编译器以 WebAssembly 为目标。Juno 是围绕它建立的代码仓库 —— 包括浏览器集成开发环境、Tauri 桌面外壳以及一个小型游戏/模拟运行时。

缘由

我希望拥有一种语言,能够编写游戏逻辑并在浏览器中运行,而无需将 JavaScript/TypeScript 游戏脚本层作为事实来源。Juni 编译为 WebAssembly;宿主是一个轻量的 JavaScript 运行时(Canvas2D、WebGPU 3D、输入、音频、实体组件系统场景)。

包含内容(v9.2 版本)

用 Rust 编写的编译器(解析 → 检查 → WebAssembly 代码生成),以及语言服务器协议相关组件
浏览器集成开发环境(Vite + Monaco),支持标签页内编译/运行、场景编辑器、图块笔刷、基于 WebGPU 的 3D 编辑视口
实体脚本:.jscene 处理程序映射到 WebAssembly 导出函数,如 player_on_update
通过 WebLLM 提供的可选本地人工智能功能(默认关闭)
使用 juni export-web 进行静态游戏构建;通过 Tauri 持续集成提供桌面安装程序
Apache-2.0 开源许可证;分发的集成开发环境还附有最终用户许可协议
有趣之处 / 权衡取舍

语言表面设计刻意保持精简 —— 足以满足帧处理、实体管理和宿主调用需求,但尚未成为通用的操作系统级语言
浏览器端的“语言服务器协议”是基于 WebAssembly 的悬停提示/诊断信息,而非完整的语言服务器进程
3D 功能只是一个切片(网格/光照/相机 + world_draw3d),并非完整的引擎竞争对手
存在主题和一个滑稽的“猫咖啡”面板,因为该集成开发环境也是我实际日常使用的地方
尝试一下

打开集成开发环境,点击运行(⌘/Ctrl+Enter)。代码仓库中包含教程和一个平台跳跃游戏示例。

代码仓库:https://github.com/AJpro774/Juno

我非常希望收到关于语言表面设计、WebAssembly 实体脚本应用程序二进制接口,以及该集成开发环境对于小型 2D/3D 原型开发是否易用的反馈。

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据