介绍

JSAR(/dʒ:-sar/)是可嵌入空间的 Web 运行时,它支持开发者使用类似于 Web 的技术来开发可嵌入空间的空间小程序。简单来说,它可以帮助你将 Web 技术嵌入到某个空间场景中独立运行。
  • 可嵌入空间:是指在当前场景中通过定义长宽高划定一块子空间给一个单独的应用程序(即空间组件)使用,空间组件可以是一个 3D 物体,也可以是一个 2D 界面,当然也可以是带 GUI 的 3D 物体。
  • Web 运行时:代表 JSAR 可以运行基于 Web APIs 实现的 JavaScript / TypeScript 代码,同时也可以运行 WebAssembly。

突出功能

  • 空间运行安全
  • 支持 Web-standard APIs
  • 支持 TypeScript
  • 支持 Babylon.js 进行场景开发
  • 使用 Visual Studio Code 即可进行 3D 开发
  • 可嵌入 Unity 场景中运行

目标

  • 保证空间组件的隔离性,运行互不侵扰
  • 面向 Web 开发者设计,降低开发者的学习成本
  • 优化空间组件的离线体验和性能,去除用户对于 Web 技术的刻板印象

使用场景

通过使用场景,我们希望快速帮助你了解 JSAR 是否适合你的需求。
如果你是 YodaOS-Master 开发者,满足下面任意一条,你可以考虑使用 JSAR 来开发你的应用:
  • 你希望做一些放在桌面的小摆件:宠物、地球仪、股票信息等
  • 你希望做一些 2D+3D 结合的场景,比如地图助手、商品展示等
  • 你拥有 Web 开发经验
如果是希望实现如下功能,那么你不应该选择 JSAR:
  • 你希望开发独立的空间应用
  • 你希望开发一个大型游戏
  • 你希望给用户一个封闭的体验

文档使用指南

为了方便开发者更好地使用本文档,这里对文档的结构进行简单的说明,这样开发者便可更快地找到想要的内容。

撰写原则

本文档尽量地采用了内容冗余的写法,即你可能会看到部分重复的内容,这里主要是为了方便开发者了解某个概念时,不需要反复跳转到不同章节的内容,但会带来行文较为啰嗦,希望开发者可以理解。

文档结构

  • 快速开始: 本章从初学者的角度介绍了如何入门。内容包括初始化项目、实现一个简单的应用程序、调试和打包等。如果你是初学者,建议从本章开始。
  • 基本概念: 本章深入探讨与空间小应用、可嵌入空间、输入源和 HTML 相关的核心概念。
  • 特性: 本章详细介绍了 JSAR 的功能特性,例如对 TypeScript、Three.js、Babylon.js 的支持等。
  • 参考: 本章提供了技术文档和规范的参考列表,帮助开发者深入了解高级功能。
  • 教程: 本章提供了逐步教程,帮助开发者快速上手 JSAR。如果你是 JSAR 新手,建议从本章开始。
  • 开发工具: 本章提供了 JSAR 开发工具的使用说明。如果你想了解如何使用开发工具,可以阅读本章。
  • 贡献: 本章提供了参与 JSAR 项目的贡献指南。如果你想为项目做出贡献,可以阅读本章。