#头条创作挑战赛#

智能手机的普及带火了app这个词,app成为各种软件的代名词。移动互联网时代也成就了一大批拥有明星app的公司,在接下来的元宇宙时代,VR、AR平台上的app是否还有类似的机会?
AR系统最不一样的地方是使用者看到的用户界面(UI)和原来的电脑端、手机端、甚至VR端都不一样,与真实的物理世界连在一起。真实物体和虚拟物体融合在一起,这样就对软件开发的架构提出更高要求。
软件领域的科学——软件工程,对于增强现实软件提出了以下几项要求。
兼容性
兼容性是指软件在不同的硬件平台上、不同的应用软件之间、不同的操作系统中、不同的网络环境中是否可以正常的运行、有无异常的使用过程。即是通常说的软件的可移植性。
为了让应用能够在各种系统平台上使用,比如手机端或者眼镜端,就必须具有跨平台的兼容性。可以在ios和android两种手机操作系统上应用,可以在基于Windows的HoloLens上使用等等。
一般来说,兼容性是对所有软件的要求,避免了硬件厂商的流氓*绑捆**。是可移植的,这样app的源代码在所有平台上都可以编译适应不同的目标平台。
UI抽象
增强现实的用户界面UI是比较模糊的,或者说还没有被统一定义。比如我们在Windows中的约定俗成是窗口、图标、菜单和指针构成的桌面式应用程序,但这种UI不一定适合用在AR中。
重用性
AR系统应该促进程序中组建的重用性。重用性也是现代软件工程的一个通用目标。
我们都希望编写更少的代码,同时也要做更多的事情。为了实现这一点,我们构建了组件,以便可以多次重用它们。
有些组件只需要基本的可重用性,而另一些则需要更复杂的重构技术,我们才能充分复用它。
分布式
分布式计算天然适合AR,尤其是头戴式AR,毕竟算力非常有限。
由于硬件本身的制约,AR中有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。
分布式计算的逻辑是将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
所以应用程序要具有一个功能,为软件的各个组件提供一个统一的通信机制,这样通过网络进行通信变得容易且可以实现。
总结
在软件的技术层面,AR是一个高要求的领域,和现实世界的融合,以及移动的计算方式都有着更高的要求。
基础就是AR肯定建立在分布式对象系统上,对输入输出的数据流的控制,以及图形界面。