
在空间计算飞速发展的当下,Web开发者想要切入AR应用开发往往面临“技术栈不匹配”“硬件依赖重”等难题。而JSAR作为可嵌入空间的Web运行时,以JavaScript/TypeScript为核心,让熟悉Web技术的开发者不需要学习全新引擎,就能快速开发出可交互的空间小程序。本文将从JSAR新人小白开发角度出发,记录JSAR应用开发的操作流程,从环境配置到项目部署,再到实战案例,帮助我们学习JSAR空间应用开发。
JSAR 是可嵌入空间的 Web 运行时,核心能力是让开发者用 Web 技术(JavaScript/TypeScript、HTML 思想的 XSML)开发能嵌入到空间场景中的小程序。它就像空间版的前端框架,把 3D 场景开发、空间交互等复杂能力封装成 Web 开发者熟悉的 API,降低空间应用开发门槛。
推荐场景 | 案例 |
|---|---|
轻量空间摆件 / 工具类应用 | ① 3D 桌面宠物(如会动的虚拟猫咪、机器人) ② 实时数据看板(如股票行情、天气信息的 3D 可视化展示) ③ 小型辅助工具(如空间计算器、AR 便签纸、3D 日历) |
2D+3D 结合的混合交互场景 | ① AR 商品展示(如 3D 家具模型 + 2D 规格选择按钮,点击切换家具颜色 / 尺寸) ② 空间地图助手(2D 导航菜单 + 3D 场景地图,点击菜单跳转至对应空间位置) ③ 简易教学工具(如 3D 人体模型 + 2D 器官名称标签,点击标签高亮对应器官) |
YodaOS-Master 系统下的嵌入式应用 | ① AR 桌面扩展工具(如在 YodaOS 桌面中嵌入 3D 地球仪,点击查看各国信息) ② 系统辅助组件(如 YodaOS 场景中的语音控制面板、快捷设置 3D 入口) |
JSAR 开发依赖 3 个核心工具:Visual Studio Code、Node.js、JSAR DevTools,全程“傻瓜式操作”,新手小白也能 10 分钟内搞定。
node -v # 示例输出:v20.10.0 npm -v # 示例输出:10.2.3
提供两种安装方式,任选其一即可:

安装成功:

JSAR 支持本地创建和 GitHub 模板创建,满足个人开发和团队协作不同需求。对于个人开发者来说我选择NPM命令本地创建。
通过一行命令即可拉取模板并初始化项目,步骤如下:
npm init @yodaos-jsar/widget my-first-jsar-app # my-first-jsar-app 是项目名,可自定义`

如果执行之后出现以下报错信息的,说明缺少Node.js 文件,需要下载配置node.js
环境变量。
PS C:\Users\28453> npm init @yodaos-jsar/widget my-first-jsar-app npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + CategoryInfo : ObjectNotFound: (npm:String) , CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
访问 Node.js 官网:[https://nodejs.org/](ttps://nodejs.org/) - 下载 **LTS 版本**(推荐,稳定性更高),根据你的系统(Windows)选择 64 位或 32 位安装包。

- 运行安装包,勾选 **"Add to PATH"** 选项(关键步骤,自动配置环境变量),然后按默认步骤完成安装。如果忘记了勾选,需要在系统环境变量中进行手动配置。
js安装完成之后,检查npm和node


cd my-first-jsar-app # 进入项目文件夹 npm install # 安装类型定义等依赖,支持代码补全和类型检查

初始化后的项目结构清晰,核心文件如下(以 NPM 创建的项目为例):

其中,main.xsml 是空间场景的“入口”,类似前端项目的 index.html,示例代码如下:

JSAR 支持在 VS Code、Web 浏览器、Rokid AR 设备中运行项目,我们可以根据开发阶段选择合适的方式。我这里选择的是vs Code内运行。
适合编写代码时实时预览效果,步骤如下:
main.xsml 文件。main.xsml 的标签页,右上角会出现“打开场景视图”按钮(类似眼睛图标),点击该按钮。- 如需重置模型位置,点击场景视图中的“重置”按钮(回到原点)。 - 修改代码后,场景视图会**自动刷新**,无需手动重启服务。

开发调试完成后,需将项目打包成 JSAR 专用的 .idp 格式,用于发布到应用市场或真机部署。
- 注意:当前 JSAR 要求打包后的文件**小于 10MB**,若超过会提示失败。 - 解决方案:用 [gltf-transform](https://gltf-transform.dev/) 工具压缩 3D 模型,或删除冗余资源。
.idp 是 JSAR 的专属打包格式,全称“Interactive Digital Product”(交互式数字产品),本质是一个压缩包,包含应用运行所需的所有资源(模型、脚本、配置文件等)。它的核心优势是“跨场景复用”——同一个 .idp 文件,可嵌入到不同的空间场景中运行,无需重复开发。
通过一个简单案例,来理解 JSAR 应用的开发逻辑,实现“点击时钟切换样式”的交互效果。
model/ 文件夹,命名为 clock-style1.glb 和 clock-style2.glb。



通过实践使用,JSAR 对开发者来说,它让我们的开发变得方便许多,也能很快速上手,能让我们体验到进行空间应用的开发,不需要重构技术栈,就能用熟悉的工具和语言,将可以开发出一个可交互的 3D 空间小程序。如果感兴趣的开发者们可以尝试开发使用,上手试一试,会发现不一样的惊喜。期待更多开发者用 JSAR 打造出丰富的空间应用,共同完善空间计算生态!也期待JSAR能不断更新优化,带来更多的惊喜!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。