第一个版本于2019年发布。它作为开源智能扬声器解决方案定位。当时,作者是应用程序框架的核心维护者,并为开发人员提供了内置的语音应用程序框架。
随着时间的流逝,智能扬声器逐渐从人们的注意力中消失。似乎语音助手领域的场景与Web生态系统不太兼容。屏幕扬声器还将解决方案带回了AOSP()生态系统。
经过四年的时间,我回来了。我仍然希望为Web开发人员找到一些有趣而下一个可以支持工程师生存的增长曲线,因此今天的JSAR - Mini计划。
几年后,原始的智能扬声器操作系统升级为后者是空间计算(AR/MR/MR/XR)方案的操作系统。技术基础也从原始的AOSP变为AOSP,而JSAR是在该系统上构建的Web开发人员的一组应用程序框架,可以说是JSAR的延续,从语音技能的原始开发到开发空间小程序。
不久前,作者受邀参加2023年在上海举行的小型分享课程:
2023上海站研讨会
本文将使用本研讨会上共享的内容来输出文本版本,以便为读者提供JSAR的整体图片及其背后的思维逻辑。
空间和空间计算
作为背景补充,让我们首先了解什么是空间。
在增强现实(AR)场景中,空间是指现实世界中的一个区域,这可以是飞机或三维物体。用户通过空间迷你程序获取有关空间的信息,例如空间的大小,空间位置,空间旋转角度等。在一般AR应用程序开发中,我们将使用场景来携带空间。
来自技术文档
如上图所示,技术文档源自该空间中浏览器的设计。您可以看到浏览器的上一个选项卡现在已成为用户周围的一系列虚拟屏幕(网页),因此用户只需要转动标题,标题可以切换网页或应用程序,或功能菜单位于虚拟屏幕的顶部和底部,可以通过手柄或手势与它进行交互。
来自 - 系统真实的机器记录
该系统也具有相同的设计。用户可以打开系统中的不同窗口。每个窗口对应于网页或应用程序。用户通过手势或射线与窗口和功能菜单进行互动。
来自技术文档
用户空间的描述如上图所示:用户位于空间的中心,用户被圆柱体表面包围。用户可以将表面的一部分用作虚拟屏幕来显示网页或应用程序。用户通过转动头进行切换。使用的应用程序。
空间小程序
读者熟悉的迷你节目通常是微信迷你节目。开发人员可以在微信中使用一些即时功能,而无需下载应用程序,例如:订购外卖,酒店预订,在线汽车车辆。等待。
那么什么是太空迷你程序?让我们看一下演示视频:
/web-//--jsar-demo.mp4(这是视频)
您可以看到,除了上一节中看到的屏幕外,空间中还有一些交互式3D对象,即空间小程序。
因此,空格小程序在原始空间的屏幕外添加了一些交互式3D对象,并且每个交互式对象都独立运行。这需要空间小程序具有以下特征:
仅凭太空迷你程序的技术实施,您就不必选择网络。您可以在LUA或其他脚本语言中执行此操作。这次,除了我对网络的热情外,我还需要一些特殊的技术优势。 。
自1993年发布HTML 1.0以来其他。 ,互相实现。
因此,JSAR希望根据安全性和便利性设计一个空间应用程序框架,以便开发人员和用户可以在独立空间应用程序之外制作一些简单,有趣且方便的“空间微型程序”,这可能非常好,很容易容易共享(当然,安全是前提)并传播。
新的三枪手
在空间计算的时代,JSAR为网络提供了新的解决方案,即新的三件式集合-XSML,SCSS和。
XSML
它对应于HTML,其全名是,它可以扩展空间标记语言。
XSML代码示例
上图是XSML的代码示例。熟悉HTML的开发人员必须熟悉它。它几乎与当今的HTML相似。唯一的区别是某些标签的差异,例如:
这是JSAR中添加了一些新标签:
上图中的狮子是通过XSML描述生成的:
有关完整的XSML说明,请访问:
SCSS
它对应于CSS,其全名是空间级联样式表。 SCSS语法完全从CSS继承,也以相同的方式使用:
通过选择器选择相应的元素
设定样式
例如:
@material red { diffuse-color: #ff2200;}
#box { rotation: 0 0 180; position: 0 1 0; material: "red";}
您会看到当前设置不再是原始的CSS样式,而是为3D空间设计的旋转,位置和材料。使用SCSS,布局空间样式是很容易自然的,这比脚本方法更直观。
有关完整的SCSS说明,请访问:
默认情况下,使用诸如Deno和BUN之类的服务器运行时,JSAR还选择了本机支持语言。它有一个内置的编译器,该编译器解释了