AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

React Native 跨界 MR 头显!苹 果 Vision Pro 成新战场,开发门槛骤降

  • 2024-01-31
    北京
  • 本文字数:2074 字

    阅读完需:约 7 分钟

大小:978.79K时长:05:34
React Native 跨界 MR 头显!苹 果Vision Pro 成新战场,开发门槛骤降

一个新的开源项目将 React Native 引入了 Apple Vision Pro 平台,允许移动开发人员为这款混合现实头显设备开发应用。


理论上来说,现有的移动应用应该是可以迁移到 Apple Vision Pro 的 visionOS 操作系统上的。

 

Michał Pierzchała 在最近的一期 React Native 播客中估计,毕竟 visionOS 系统有多达 80-90%(甚至更多)的代码与 iOS 是相同的。Pierzchałan 是软件工程咨询公司 CallStack 的技术主管。负责该项目的 CallStack 软件工程师 Oskar Kwaśniewski 解释道,两大系统的基础都是 UIKit。

 

不过,当 CallStack 与 Rebecker Specialties 的创始人 Matt Hargett 合作为 Vision Pro 开发一个 React Native 应用时,他们发现没办法在 visionOS 上使用这个框架。因此 CallStack 决定创建一个 React Native 的分支。通过这个分支,CallStack 构建了一个新的开源树外平台,可以支持 visionOS 操作系统。它允许开发人员将应用程序移植到到 Vision Pro 头显上,并完全支持这个平台的 SDK。

 

“Apple Vision Pro 最显著的特点当然是这种沉浸式空间了,在这个空间中可以有几个并排排列的应用,”这个分支的开发者 Kwaśniewski 告诉 The New Stack。“这就是我们将为 React Native 带来的愿景,让用户可以轻松移植他们的应用,并充分利用 Apple Vision Pro 用户的虚拟空间。”

VisionOS 开发的特殊之处

我们可以将 VisionOS 看作具有三种类型空间内容的平台,这三种类型分别是:窗口、3D 体和空间。窗口是包含传统视图和控件的矩形框,并且可以包含一些 3D 内容。三维体更像是一个大立方体,可以向用户展示能够从任何角度观看的 3D 体验。空间就是剩下的所有内容。默认情况下,应用会启动到共享空间,它们并排排布,就像桌面上的多个应用一样。

窗口和三维体,来自苹果的 visionOS 页面。

 

“应用程序可以使用窗口和三维体来显示内容,并且用户可以将这些元素放到他们喜欢的任何位置上,”Apple VisionOS 网站是这样解释的。“为了获得更身临其境的体验,一个应用可以打开一个专用的完整空间,其中只会显示该应用的内容。在这个完整空间内,应用程序可以使用窗口和三维体创建无限的 3D 内容,打开通往不同世界的门户,甚至让人们完全沉浸在环境中。”

 

Apple Vision Pro 是一款混合现实或扩展现实头显,而不是虚拟现实(提供完全身临其境的体验)设备。混合现实更像是一个虚拟叠加层,它允许用户与周围环境交互。Kwaśniewski 和 Pierzchałan 在播客中分享道,这款头显允许用户使用手、声音和眼睛来导航内容,所有这些都由系统层处理,不需要开发人员编程。

 

Vision Pro 还是很难买——截至 1 月份的播客播出时,CallStack 还在等待产品发售——所以 Kwaśniewski 只能在模拟器上开发,但他表示,这个操作系统将高亮显示用户查看的位置并选择元素,然后可以通过手指动作来控制——就像点击触控板一样。

替代方案

Kwaśniewski 表示,他们的团队确实考虑了 Flutter 这个可能的选项,但最终选择了 React Native,因为后者是更成熟的框架,在 Apple App Store 和 Google Play 内发布的实际应用中所占的份额更大。他补充说,React Native 平台将允许这些开发人员将他们的移动应用扩展到 visionOS 上。

 

NativeScript 是创建 VisionPro 应用的另一种选择。它为包括 React、Angular 和 Svelte 在内的多个 JavaScript 框架提供了 VisionOS 支持,允许开发人员将 JavaScript 与苹果的 SwiftUI 结合使用。但与之相比,React Native 更容易使用、速度更快,Pierzchałan 说。

构建树外平台

Kwaśniewski 将 Vision OS 的 React Native 分支与微软 Windows 的 React Native 分支做了比较。

 

“它允许你复用自己之前用流行的 JavaScript 所编写的代码库,并运行在 macOS 和 Windows 上,我们还允许它在 visionOS 上运行,”他说。

 

他补充说,在构建 React Native visionOS 框架时,团队利用了另一个框架 SwiftUI 来弥合 React Native 和 Vision Pro 在视觉展示方面之间的差距。

 

团队发现不可能,甚至没有必要迁移所有的 React Native 代码。例如,有些 API 在 Vision Pro 上就没有意义。

 

“检索当前用户屏幕信息的 API 对于这个平台来说没有意义,因为屏幕距离我们的眼睛只有一厘米,我们无法访问用户正在查看的屏幕;但对于视觉展示来说,我们使用窗口来显示内容,”他说。 “这就是为什么大多数库的开发和维护人员需要解决一些常见问题,才能让他们的库跑在这个平台上。”

 

只有使用原生代码的库才需要迁移;根据 Kwaśniewski 一月份发布的一篇详细介绍如何迁移库的帖子来看,纯 JavaScript 库会是开箱即用的。当然,这个框架设计出来就是为了解决这方面的一些挑战的。Kwaśniewski 主动表示,希望迁移自己库的开发人员都可以向他寻求帮助。


另外,文章中提到的播客为“React Native for Apple Vision Pro and visionOS | The React Native Show Podcast”,可以直接访问这期播客的官网 https://www.callstack.com/podcasts/react-native-for-apple-vision-pro-and-visionos

 

原文链接:https://thenewstack.io/react-native-fork-supports-development-on-apple-vision-pro/

2024-01-31 13:068276

评论

发布
暂无评论
发现更多内容

Java的八种基本数据类型

共饮一杯无

Java 基本数据类型 10月月更

crossorigin属性:为什么它是避免tainted canvases的关键?

水鱼兄

聊聊面试中的过滤器与拦截器

TimeFriends

【LeetCode】滑动窗口的最大值Java题解

Albert

LeetCode 10月月更

开发者 J 有意思|1024 开发者嘉年华活动正式启幕

Jina AI

人工智能 开源 开发者 工程师 1024

LinkedList源码分析(三)

知识浅谈

linkedlist 10月月更

632页!我熬夜读完这份“高分宝典”,竟4面拿下字节跳动offer

小二,上酒上酒

Java 面试

Wallys//IPQ8072/IPQ8074/IPQ8072A/IPQ8074A/High-capacity 802.11ax SoC for Routers, Gateways and Access Points

wallys-wifi6

IPQ8072 IPQ8074A

仅靠七个步骤,4面通过拿offer,终“跳进”字节跳动

小二,上酒上酒

面试 面试题

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

渣本全力以赴33天,四面阿里妈妈(淘宝联盟),拿下实习岗offer

小二,上酒上酒

学习 面试 阿里 编程开发

一文读懂web标准的基石:web IDL

水鱼兄

一次性学懂Excel中的Power Query和Power Pivot使用

博文视点Broadview

面试官:说说React-SSR的原理

beifeng1996

React

详解数仓的锁相关参数及视图

华为云开发者联盟

数据库 后端 华为云 企业号十月 PK 榜

搞AI开发,你不得不会的PyCharm技术

华为云开发者联盟

人工智能 代码 华为云 企业号十月 PK 榜

疫情之后,幸获内推,4面京东拿下offer(Java后台研发岗)

小二,上酒上酒

Java 面试

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

小二,上酒上酒

MySQL 面试

实时营销引擎在vivo营销自动化中的实践 | 引擎篇04

vivo互联网技术

服务器 架构设计 引擎

Linux策略路由详解

京东科技开发者

数据库 Linux 公有云 云主机 策略路由

安全专属的IM即时通讯平台,WorkPlus信创国产化解决方案

BeeWorks

WorkPlus移动门户,助力企业信息系统移动智慧互联

BeeWorks

HTML标准第二章总结:HTML的基础设施

水鱼兄

以整数解析为例,如何读懂标准里的算法?

水鱼兄

结构化克隆:浏览器的序列化机制

水鱼兄

说说React-Router底层实现?-面试进阶

beifeng1996

React

2022云栖大会|EMAS专项嘉宾领票通道现已开启

移动研发平台EMAS

云计算 阿里云 低代码 云栖大会 行业峰会

一次磁盘占用率 100% 的排查记录

悟空聊架构

Docker 磁盘 悟空聊架构

使用 SAP BTP 创建一个 Spring Boot Java 应用

汪子熙

云原生 SAP Netweaver 10月月更 btp

全球第一!新一代云原生实时数仓 SelectDB 登顶 ClickBench 榜单!

SelectDB

性能测试 Clickhouse 分析型数据库 数仓 SelectDB

React Native 跨界 MR 头显!苹 果Vision Pro 成新战场,开发门槛骤降_架构/框架_Loraine Lawson_InfoQ精选文章