本期共享的是 —— 一個(gè) React Native Fork(復(fù)刻倉(cāng)庫(kù))支持開(kāi)發(fā)蘋(píng)果 Vision Pro。具體而言,一個(gè)新的 React Native 開(kāi)源復(fù)刻項(xiàng)目將 React Native 引入了蘋(píng)果的 Vision Pro 頭顯產(chǎn)品,允許移動(dòng)開(kāi)發(fā)者為混合現(xiàn)實(shí)頭顯開(kāi)發(fā) App。
蘋(píng)果 Vision Pro 是去年 6 月蘋(píng)果公司在其年度全球開(kāi)發(fā)者大會(huì)上官宣的混合現(xiàn)實(shí)頭顯,是一款集 AR(增強(qiáng)現(xiàn)實(shí))和 VR(虛擬現(xiàn)實(shí))功能于一體的 MR 頭顯(混合現(xiàn)實(shí)頭戴式顯示設(shè)備)。
簡(jiǎn)而言之,Vision Pro 類似于鄧紫棋在其《啟示錄》專輯的里裝備的那個(gè)眼鏡,可以化身“頭號(hào)玩家”飛升元宇宙。樂(lè)土,啟動(dòng)!
而就在昨天,全球第 1
臺(tái)零售版 Vision Pro 才正式被抱出線下實(shí)體旗艦店,你我皆為蘋(píng)果歷史見(jiàn)證人。
理論上可以將移動(dòng) App 移植到蘋(píng)果 Vision Pro 的 visionOS 操作系統(tǒng)。
畢竟,M.P. 在最近的 React Native 播客中估計(jì),visionOS 高達(dá) 80-90%(以上)的代碼與 iOS 系統(tǒng)相同。M.P. 是軟件工程咨詢公司 Callstack 的技術(shù)主管。Callstack 負(fù)責(zé)該項(xiàng)目的軟件工程師 O.K. 如是說(shuō),這兩者的基建其實(shí)都是 UIKit。
換而言之,當(dāng) Callstack 與 Rebecker Specialties 的創(chuàng)始人 M.H. “夢(mèng)幻聯(lián)動(dòng)”,為 Vision Pro 創(chuàng)建 React Native App 時(shí),它們發(fā)現(xiàn)沒(méi)法在 visionOS 系統(tǒng)上使用該框架。因此 Callstack 決定創(chuàng)建一個(gè) React Native 的分支。通過(guò)該分支,Callstack 構(gòu)建了一個(gè)新的開(kāi)源樹(shù)外平臺(tái)(out-of-tree platform),可以和 visionOS 系統(tǒng)“夢(mèng)幻聯(lián)動(dòng)”。它允許開(kāi)發(fā)者將 App 重新定位到 Vision Pro,并完全支持平臺(tái) SDK。
“蘋(píng)果 Vision Pro 最顯著的特點(diǎn)當(dāng)然是這種沉浸式空間體驗(yàn),其中一大坨 App 彼此相鄰,”該復(fù)刻倉(cāng)庫(kù)的開(kāi)發(fā)者 O.K. 如是說(shuō)。“這就是我們將為 React Native 帶來(lái)的愿景,這樣用戶可以輕松鏡像 App,并充分利用蘋(píng)果 Vision Pro 用戶的空間。”
將 VisionOS 系統(tǒng)視為具有三種類型的空間內(nèi)容會(huì)有所幫助:
窗口是包含傳統(tǒng)視圖和控件的矩形框,并且可以包含某些 3D 內(nèi)容。體積更像是一個(gè)大立方體,可以展示任意角度的 3D 視覺(jué)體驗(yàn)。最后是空間……以及其他的一切。默認(rèn)情況下,App 啟動(dòng)到共享空間,它們并行不悖,就像桌面上的多個(gè) App 一樣。
圖片
“App 可以使用窗口和體積來(lái)顯示內(nèi)容,且用戶可以將這些元素重新定位到它們喜歡的任意位置,”蘋(píng)果 VisionOS 官網(wǎng)如是說(shuō)。 “為了享受身臨其境的體驗(yàn),App 可以打開(kāi)一個(gè)專屬完整空間,其中只會(huì)顯示該 App 的內(nèi)容。在完整空間內(nèi),App 可以使用窗口和體積,創(chuàng)建無(wú)限的 3D 內(nèi)容,打開(kāi)通往不同世界的門戶,甚至讓大家完全沉浸在環(huán)境中。”
蘋(píng)果 Vision Pro 是一款混合現(xiàn)實(shí)或擴(kuò)展現(xiàn)實(shí)頭顯,而不僅僅是虛擬現(xiàn)實(shí)。混合現(xiàn)實(shí)更像是虛擬疊加層,允許用戶與周圍環(huán)境交互。O.K. 和 M.P. 在播客中共享道,這款頭顯允許用戶使用手、聲音和眼睛進(jìn)行導(dǎo)航,所有這些都由系統(tǒng)層處理,不需要開(kāi)發(fā)者進(jìn)行編程。
Vision Pro 仍然供不應(yīng)求 —— 截至 1 月份的播客,Callstack 仍然在搶購(gòu)候補(bǔ)名單上 —— 所以 O.K. 只在模擬器上測(cè)評(píng)開(kāi)發(fā),但它表示,操作系統(tǒng)將突出顯示用戶查看的位置并選擇元素,然后可以通過(guò)手指動(dòng)作激活 —— 就像點(diǎn)擊觸控板一樣。
O.K. 表示,該團(tuán)隊(duì)確實(shí)將 Flutter 視為 React Native 的備胎方案,但最終還是選擇了后者,因?yàn)樗且粋€(gè)更成熟的框架,在蘋(píng)果應(yīng)用商店和 Google Play 內(nèi)發(fā)布的 App 中搶占的市場(chǎng)份額更大。它補(bǔ)充道,React Native 平臺(tái)將允許這些開(kāi)發(fā)者將其移動(dòng) App 擴(kuò)展到 visionOS 系統(tǒng)。
NativeScript 是創(chuàng)建 VisionPro App 的另一個(gè)備胎。它為多個(gè) JS 框架提供 VisionOS 支持,包括 React 和 Vue,允許開(kāi)發(fā)者將 JS 與蘋(píng)果的 SwiftUI “夢(mèng)幻聯(lián)動(dòng)”。雖然但是,相比之下,React Native 更容易、更快,M.P. 如是說(shuō)。
O.K. 將針對(duì) visionOS 系統(tǒng)的 React Native 分支與微軟 Windows 的 React Native 分支進(jìn)行了比較。
“它允許我們采用眾所周知的 JS 編寫(xiě)的相同的代碼庫(kù),并在 MacOS 系統(tǒng)和 Windows 系統(tǒng)上運(yùn)行,我們還允許它在 VisionOS 系統(tǒng)上運(yùn)行,”它講道。
它補(bǔ)充道,在構(gòu)建 React Native VisionOS 框架時(shí),團(tuán)隊(duì)利用了另一個(gè)框架 Swift UI 來(lái)彌合 React Native 和 Vision Pro 視覺(jué)方面之間的差距。
團(tuán)隊(duì)發(fā)現(xiàn)不可能甚至沒(méi)有必要遷移所有 React Native 代碼。舉個(gè)栗子,某些 API 在 Vision Pro 上毫無(wú)卵用。
“檢索當(dāng)前用戶屏幕信息的 API 對(duì)于此平臺(tái)而言毫無(wú)卵用,因?yàn)槠聊痪嚯x我們的眼睛有且僅有一厘米,我們無(wú)法訪問(wèn)用戶正在查看的屏幕;但對(duì)于視覺(jué)效果,我們使用窗口來(lái)顯示東東,”它說(shuō)道。 “這就是為什么大多數(shù)庫(kù)開(kāi)發(fā)者和維護(hù)者需要解決某些常見(jiàn)問(wèn)題,才能讓它們的庫(kù)在此平臺(tái)上奏效。”
只有使用原生代碼的庫(kù)才需要遷移;根據(jù) O.K. 一月份詳細(xì)介紹如何遷移庫(kù)的帖子,純 JS 庫(kù)將開(kāi)箱即用。當(dāng)然,該框架旨在解決某些挑戰(zhàn)。O.K. 自愿表示,任何致力于轉(zhuǎn)換其庫(kù)的開(kāi)發(fā)者都可以向它尋求幫助。
本文鏈接:http://www.www897cc.com/showinfo-26-73330-0.html我們一起聊聊 React Native 進(jìn)軍混合現(xiàn)實(shí)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com