写点什么

iOS 上手 Vision Pro 还未摸到门道?快来听听淘宝 Vision Pro 的最佳实践

  • 2024-10-12
    北京
  • 本文字数:3001 字

    阅读完需:约 10 分钟

大小:1.45M时长:08:27
iOS 上手 Vision Pro 还未摸到门道?快来听听淘宝 Vision Pro 的最佳实践

今年 4 月,淘宝 Vision Pro 版上线,为电商行业带来了全新的购物体验。通过将商品以 3D 立体的方式投影到现实世界中,用户可以近距离、多角度地观察商品,甚至可以实现 1:1 比例的真实模拟。这种“身临其境”的购物体验,无疑将改变我们传统的消费习惯。

 


对于 iOS 开发者来说,Vision Pro 代表着一个充满机遇的全新领域。淘宝作为国内领先的电商平台,率先将 Vision Pro 应用于购物场景,为开发者提供了宝贵的经验。淘宝 XR 工程技术团队核心开发蒋志远在接受 InfoQ 采访时分享了他们在 Vision Pro 开发方面的心得体会。蒋志远指出,Vision Pro 作为一个全新的平台,其实也给开发者带来了巨大的挑战。而淘宝团队则在没有任何前例可循、不断探索的情况下,成功上线了淘宝 Vision Pro 版本。

 

采访嘉宾:蒋志远,来自淘宝 XR 工程技术团队,曾经负责过淘宝 iOS 客户端性能、架构和创新业务,现在负责淘宝 Vision Pro 版本的软件架构工作。重新设计了 淘宝 Vision Pro 版本的软件架构,支持了淘宝 Vision Pro 版本开发上线的全流程。在即将召开的 QCon 上海 2024_ 全球软件开发大会暨智能软件开发生态展_InfoQ 技术大会上,蒋志远将分享更多关于淘宝在 visionOS 上的最佳实践细节。

 


InfoQ:从常规 iOS 开发转为 VR/MR 方向,您感觉这中间过渡大吗?进入 Vision Pro 开发领域,技能 Gap 主要有哪些?

 

蒋志远:Vision Pro 的开发得益于苹果的跨平台策略,它大量采用了与 iOS 相同的基础技术,并且基础 SDK 的 API 与 iOS 相差无几。因此,对于 iOS 开发者而言,转向 Vision Pro 的学习曲线相对平缓。你可以将开发 iOS 应用的经验直接应用于 Vision Pro 应用的开发。这正是 Vision Pro 相对于其他 VR/MR 头显设备的优势所在。

 

在开发 Vision Pro 应用时,主要分为两种类型:纯 2D 应用和结合 3D 内容的应用。对于前者,开发者无需额外学习;而对于后者,则需要对 3D 内容开发流程有所了解。独立开发者可能需要解决 3D 模型的获取、格式处理、3D 内容控制等问题,并需要具备一定的游戏开发知识,如渲染技术和数学变换等。尽管苹果已经提供了简洁的 API,但这些知识仍然是必要的。

 

InfoQ:构建 Apple Vision Pro 应用有两种基本方法:改造现有应用以使其与 Vision Pro 兼容,以及从头开始为 Vision Pro 的空间计算环境构建新应用。那么淘宝选择的是哪一种?为什么这么选?

 

蒋志远:在 Vision Pro 上,现有的 iPhone 和 iPad 应用可以通过兼容模式运行,这意味着即使不做任何修改,我们的 App 也能在 Vision Pro 上运行。这里假设你指的是使用现有代码对 Vision Pro 进行适配。这要求代码具有很高的兼容性,尤其是考虑到 Vision Pro 在 UI 上的显著变化和平台差异性。如果您的 App 已经很好地适配了 iPad 的 UI 并正确处理了多窗口逻辑,尤其是使用 SwiftUI 开发的 App,那么迁移到原生 Vision Pro 的难度会相对较小。然后,您可以针对 Vision Pro 平台微调 UI,并利用新的内容特性。

 

如果情况并非如此,我建议针对 Vision Pro 从头开始开发一个应用。因为面对这个全新的领域,我们更倾向于贴近平台,充分利用 Vision Pro 的潜力,提供全新的用户体验。

 

InfoQ:开发过程中,您认为最大的难点是什么?(某个功能的实现过程、遇到的问题以及解决方法)

 

蒋志远:在开发过程中,我们遇到了各种预料之中和预料之外的问题。Vision Pro 作为一个全新的平台,自然也存在各种挑战。并且苹果在很多细节方面并没有提供详细的文档,我们需要在没有任何经验可借鉴的情况下不断的摸索。

 

淘宝在原生的 visionOS 平台上开发,虽然原生平台已经给了很多能力,但是还有很多能力没有提供,我们自建了很多框架能力来弥补原生平台的不足。还有在如何协调好原生平台和自建的能力方面,我们也付出了很多的努力。

 

InfoQ:从当前实践角度来看,目前的三维显示、三维交互技术是否还存在一些对 VR/MR 发展造成掣肘的地方?

 

蒋志远:目前市面上的三维显示方案主要有两种:以 Vision Pro 为代表的视频透视(VST)方案,还有光学透视(OST)方案。VST 方案对摄像头的质量和图像拼接能力要求较高;而 OST 方案则对光学显示技术有较高要求。两者各有优势和局限。

 

实际上,这些技术的限制主要源于芯片技术,即如何在体积和算力之间找到最佳平衡点。XR 设备作为可穿戴设备,其设计要求是轻便舒适。例如,OST 设备为了实现轻便的眼镜形态,牺牲了一定的算力;而 VST 设备为了提供完整的 XR 体验,往往体积较大且重量较重。

 

在 Vision Pro 上,由于隐私问题,应用无法访问摄像头信息,唯一感知世界的方式是使用苹果的 ARKit,这在一定程度上限制了我们的发挥。我们希望能够继续探索 XR 隐私问题,找到应用感知世界和用户隐私之间的平衡点。

 

InfoQ:Vision Pro 的价格高昂,您认为个人开发者在 Vision Pro 实物调试过程中,除了高昂的硬件成本,还会面临哪些其他的技术门槛或限制?是否有一些开源工具或社区资源,可以帮助个人开发者更方便地进行 Vision Pro 的开发和调试?

 

蒋志远:Xcode 提供的模拟器已经能够满足我们大部分开发需求。然而,对于图像密集型的游戏或应用,模拟器的性能可能无法与真机相媲美。如果需要快速开发 Vision Pro 应用,目前开源的 iOS 能力库大多可以迁移到 Vision Pro 上。您可以在 GitHub 上搜索相关资源,如 Lookin、FLEX 等。

 

InfoQ:淘宝 Vision Pro 版本的开发过程中,您团队在实物调试方面有哪些独特的经验和教训?

 

蒋志远:苹果直接销售的 Vision Pro 没有外部接口,因此调试时需要一个低延迟且高速的局域网环境。如果您开发的是图形密集型应用,或者觉得无线调试速度慢且卡顿,可能需要购买官方推出的 Developer Strap,这是目前唯一支持有线调试 Vision Pro 的解决方案。

 

由于 Vision Pro 在 Xcode 中移除了 View Hierarchy 功能,调试视图时可能需要借助 Lookin 等工具进行辅助。

 

InfoQ:您认为未来的 Vision Pro 应用会呈现出怎样的趋势?是否可以预测下 Vision Pro 在电商领域的发展?

 

蒋志远:我认为 Vision Pro 应用在短期内将主要聚焦于沉浸式观影、效率工具和低交互的放置类 3D 游戏。长期来看,随着 AI、空间感知和协作能力的增强,应用将更倾向于虚拟与现实紧密结合,如协作设计、数字助手、立体说明书等。对于企业用户,Vision Pro 将在关键工序提供支持,如基于空间的设备状态监测、新人虚拟实操培训、增强人工视觉能力等。

 

对于传统电商应用,Vision Pro 提供了一个新的维度来展示商品。在手机上购物通常只能通过文字和图片了解商品,而 Vision Pro 可以通过 3D 技术将商品直观地展示在用户面前。开发者将充分利用这一新维度,以更沉浸、更高效的方式展示内容,如沉浸式逛店、线上车展、商品展览、AI 导购等。

 


InfoQ:对想入门 VR/MR 开发的程序员,您有哪些建议给他们?

 

蒋志远:我认为最重要的是明确自己想要开发的应用类型,然后有针对性地学习。XR 开发目前仍然依赖于特定平台。通用知识包括了解游戏开发的相关工具链、3D 模型相关知识、基础渲染知识以及 OpenXR 等。如果是针对 visionOS 的开发,Swift 和 SwiftUI 是一个很好的入门选择。

 

活动推荐

10 月 18 日 -19 日,QCon 全球软件开发大会将在上海举办。从云原生工程、架构、线上可靠性、大前端、技术管理等经典内容,到 AI Agent、AI Infra、RAG 等大热的 AI 话题,60+ 资深专家共聚一堂,深度剖析相关落地实践案例,共话前沿技术趋势。大会火热报名中,详情可联系票务经理  17310043226 咨询。

 


2024-10-12 17:137690

评论

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

观测云&新数科技,共同赋能企业数字化系统

观测云

ApiPost 真香,再见了Postman

Xd

后端 API 接口测试工具

CompositePattern-组合模式

梁歪歪 ♚

设计模式

时间都去哪了

Teobler

研发效能 软件质量 团队效率 研发速率

CorelDRAW2022安装步骤及序列号

茶色酒

cdr2022

抖音打击仿冒热点事件帐号行为:如何打击平台上的山寨账号

石头IT视角

FlyweightPattern-享元模式

梁歪歪 ♚

设计模式

M_7: 王者荣耀商城异地多活架构设计

Jadedev

架构训练营

JavaScript闭包

源字节1号

软件开发 前端开发 后端开发

Flutter 也能玩 React 的 Redux?

岛上码农

flutter ios 安卓开发 跨平台应用 5月月更

SAAS服务的优势

Geek_99967b

SaaS

基于ArkUI开发框架,图片马赛克处理的实现

HarmonyOS开发者

HarmonyOS

极客星球 | 数据治理三步走,助力企业节省百万+资金投入

MobTech袤博科技

数据治理 大数据架构 降本增效

网络性能测试工具

穿过生命散发芬芳

5月月更 网络性能测试工具

LabVIEW控制Arduino驱动数码管(基础篇—11)

不脱发的程序猿

单片机 LabVIEW LIAT Arduino Uno 驱动数码管

EasyRecovery2022苹果电脑数据恢复软件

茶色酒

EasyRecovery EasyRecovery15

青山不遮,毕竟东流,集成Web3.0身份钱包MetaMask以太坊一键登录(Tornado6+Vue.js3)

刘悦的技术博客

vue.js tornado 区块链落地 区块链+ 认证授权

APP开发者的利器:主流系统下的热更新技术

Geek_99967b

小程序

2.6 从控制台加载航线图文件

Geek_古藤模根

图数据库 gremlin 入门

flutter系列之:widgets,构成flutter的基石

程序那些事

flutter 程序那些事 5月月更

融云互动游戏 SDK, 丰富娱乐玩法,「破冰」陌生人社交

融云 RongCloud

与爱“童”行,皮皮携万千网友的语音信,用声音传递温暖

联营汇聚

leetcode 695. Max Area of Island 岛屿的最大面积(中等)

okokabcd

LeetCode 搜索

在线HTML转JSP工具

入门小站

工具

linux之rsync远程同步文件

入门小站

Linux

在线文本右侧批量添加字符串工具

入门小站

工具

BridgePattern-桥接模式

梁歪歪 ♚

设计模式

当 diesel 遇见 jsonb

伍思默

万亿级别数据量的秒级实时分析,小红书OLAP引擎的进化和自研之路

小红书技术REDtech

大数据 实时数仓 OLAP Clickhouse

EasyRecovery15手机版数据恢复软件

茶色酒

EasyRecovery EasyRecovery15

一款简洁强大兼顾的小程序IDE

Geek_99967b

小程序 ide

iOS 上手 Vision Pro 还未摸到门道?快来听听淘宝 Vision Pro 的最佳实践_Android/iOS_Tina_InfoQ精选文章