iOS 和 macOS 兩大系統(tǒng)的應(yīng)用生態(tài)融合是一個極具野心的項目,也是蘋果近幾年在軟件層面實施的最大改動。Ars Technica 近日采訪了幾位蘋果工程師和第三方開發(fā)者,對這個項目做了進一步解析。早在 2018 年的 WWDC 大會上,蘋果就公開回應(yīng)了一個已經(jīng)被討論許久的話題,那就是 iOS 和 macOS 在系統(tǒng)上的融合。但實際上,蘋果并未打算將兩個系統(tǒng)合并,它真正想做的其實是打通移動端和桌面端的應(yīng)用生態(tài)。
作為首批展示案例,在 macOS 10.14 中,蘋果就曾把 iOS 端的新聞、股票等手機應(yīng)用移植到 Mac 系統(tǒng)中,強調(diào)可以讓開發(fā)者用「很少的精力」就能實現(xiàn)這樣的移植工作。
▲ 圖片來自:Forbes
到了今年,蘋果進一步公開了名為「Project Catalyst」的項目,讓廣大第三方開發(fā)者也參與到移植工作中。簡單來說,現(xiàn)在開發(fā)者們可以利用蘋果提供的新工具包,只要對 iPad 應(yīng)用的底層代碼做簡單的調(diào)整,就能直接創(chuàng)建一個可以在 Mac 電腦上運行的應(yīng)用。這聽起來似乎并不困難,但項目本身仍然有很多讓人在意的細節(jié)。
如何將一款 iPad 應(yīng)用搬到 Mac 電腦上?去年,蘋果工程副總裁克雷格·費德里吉(Craig Federighi)曾介紹「Project Catalyst」項目的設(shè)立目的,就是為了借助成熟的 iOS 應(yīng)用生態(tài)來推動 Mac 平臺的發(fā)展,豐富桌面端的應(yīng)用。從數(shù)據(jù)來看,iPhone 的用戶規(guī)模已經(jīng)接近 10 億,而使用 Mac 電腦的用戶量僅為 1 億而已,在這樣的懸殊差距下,自然很難驅(qū)動開發(fā)者只為后者開發(fā)應(yīng)用,而移植則是彌補差距最快速、簡單的策略。但作為平臺方,想要拉攏足夠多的第三方開發(fā)者參與其中,顯然得先解決移植的工作量、成本和風(fēng)險等問題。
為此,蘋果第一步是計劃先將 iPad 應(yīng)用帶到 Mac 電腦中,而非數(shù)量更多的 iPhone 應(yīng)用。macOS 的高級市場總監(jiān) Todd Benjamin 解釋說,這是因為 iPad 應(yīng)用在上線時就已經(jīng)針對大屏幕做了適配,UI 界面基本都是現(xiàn)成可用的,反而是 iPhone 手機應(yīng)用需要重新修改設(shè)計。但在具體的遷移過程中,iOS 與 macOS 兩個系統(tǒng)的編寫底層仍存在不少差異。
最明顯的一點,macOS 應(yīng)用使用 AppKit,而 iOS 應(yīng)用使用 UIKit,這是兩種不同的開發(fā)框架,直接復(fù)用一套代碼顯然不現(xiàn)實,蘋果只能盡可能地將兩者架構(gòu)中相同的部分整合到一起,降低移植的工作量。
Twitter 的工程師 Nolan O‘Brien 在采訪時就表示,蘋果提供了一個可以讓開發(fā)者重復(fù)利用現(xiàn)有代碼資源的套件,這意味著應(yīng)用廠商不必再為 Mac 應(yīng)用單獨設(shè)立一支運維團隊。「今后我們對于 Mac 平臺的支持,會提升至和 iPhone、iPad 一樣的水準(zhǔn)。」O’Brien 稱,目前 Twitter 的官方版 macOS 應(yīng)用已經(jīng)在 WWDC 上有過展示,之后就會上架 Mac 商店。
而旅行規(guī)劃軟件 Tripit 的開發(fā)者 Rich Shimano 則認為,移植工作的挑戰(zhàn)在于要照顧一些老舊的框架代碼,其中可能需要用新的 API 進行改寫,此外還要調(diào)整 iPad 應(yīng)用對于多任務(wù)和窗口自動布局的支持。但架構(gòu)整合只是其中一點,iPad 和 Mac 的硬件與交互差異也會對應(yīng)用設(shè)計產(chǎn)生影響,兩者的使用場景也都不盡相同。
蘋果在開發(fā)者文檔中也提及,有的 iPad 應(yīng)用會借用陀螺儀、重力加速感應(yīng)器和后置攝像頭等元件配合使用,但這些元件并未集成在 Mac 電腦中,移植時蘋果也會自動將不兼容的特性代碼進行刪減。而在交互方面,iPad 應(yīng)用基于的是觸摸屏和手勢操作,Mac 應(yīng)用則需要用鼠標(biāo)、鍵盤或觸控板。其中的交互變化會在移植過程中自動轉(zhuǎn)換,比如手指的觸摸/長按操作會對應(yīng)鼠標(biāo)單擊或雙指點擊,也會加上窗口大小調(diào)整、窗口拖放、全屏顯示等只有在 Mac 電腦上才會用到的功能。自動轉(zhuǎn)換下來的應(yīng)用只能達到「可用」的層面,如果開發(fā)者想要實現(xiàn)更豐富的功能,比如邊欄設(shè)計,新增模塊等,還需要做針對性的編程處理。
但在新的開發(fā)環(huán)境下,開發(fā)者的工作量確實明顯下降了。據(jù)采訪介紹,Gameloft 的開發(fā)團隊只花了一天時間,就將《狂野飆車 9》從一個 iOS 應(yīng)用轉(zhuǎn)變?yōu)橐粋€可運行的 Mac 電腦游戲、他們刪減了只能在 iPad 上使用的重力感應(yīng)操作,改寫了 UI 界面和部分代碼,實現(xiàn)在 Mac 平臺穩(wěn)定 60 幀的運行。同時,在桌面級芯片的支持下,移植類應(yīng)用也能獲得額外的性能資源。Gameloft 圖形工程師 Alex Urbano 就表示,他們在 Mac 平臺上實現(xiàn)了更高分辨率的支持,同時還增加了一些新的畫面特性,比如車輛的自動陰影、超采樣、高質(zhì)量的運動模糊和屏幕空間反射功能。Mac 應(yīng)用的數(shù)量多了,但質(zhì)量能保證嗎?雙端應(yīng)用融合計劃被業(yè)內(nèi)視為是蘋果重新重視起 Mac 平臺的信號,但它也引發(fā)了部分 Mac 核心用戶的擔(dān)憂。一方面,蘋果的新套件確實能為 Mac 平臺帶來一大批新的應(yīng)用;但另一方面,這可能也會降低開發(fā)者從零設(shè)計一款獨立 Mac 應(yīng)用的熱情,而傾向于用移植工具解決一切。
畢竟,從現(xiàn)有幾款移植自 iPad 平臺的應(yīng)用來看,它們的界面都十分簡單,基本就是主界面加一個側(cè)邊欄的設(shè)計,功能也和 iPad 端基本相同,有的甚至直接照搬了移動端的 UI 控件,這放在強調(diào)使用鍵鼠、觸控板操控的 Mac 平臺上顯得格外另類。不過,蘋果工程師們卻認為,「Project Cataylst」項目的價值在于降低移植門檻,但并未改變 Mac 應(yīng)用開發(fā)的可能性與上限。
「我們讓移動開發(fā)者可以在一款基于 UIKit 移動應(yīng)用的基礎(chǔ)上,使用 Appkit 桌面端的特性來進行調(diào)整和修改。而對于那些創(chuàng)意內(nèi)容人士和專業(yè)級工具而言,他們會清楚自己的用戶群和受眾想要什么內(nèi)容。」
Gameloft 圖形工程師 Alex Urbano 也表示,現(xiàn)在的移植工具對于人力和工作效率的幫助都很明顯。只有需要用到 Mac 中某個特定的硬件功能,他們才會考慮重頭設(shè)計一款應(yīng)用。為了確保質(zhì)量,推動開發(fā)者對于 Mac 應(yīng)用的迭代,去年蘋果還改進了 Mac 應(yīng)用商店的頁面,讓廠商可以看到用戶的評分和反饋,并進一步拉進開發(fā)者和用戶之間的關(guān)系。同時,蘋果也希望在新套件的影響下,能夠讓那些過去只為 Mac 做應(yīng)用的開發(fā)者們能夠重新考慮 iPad 平臺,尤其是在 iPadOS 出現(xiàn)后,蘋果對于 iPad 生產(chǎn)力工具的定位也變得更為明確。
「過去 Mac 平臺只擁有那些復(fù)雜的應(yīng)用軟件,它們的功能很強大,適用范圍也十分廣泛,而移動端的應(yīng)用往往都較為單一,強調(diào)的是專注。現(xiàn)在蘋果希望將兩者合并到一起,讓用戶在 Mac 上也能享受到 iPad 和 iPhone 上的應(yīng)用生態(tài),并在多個平臺保持一致的使用體驗。」就算不用「Project Cataylst」,開發(fā)者們也還有 SwiftUI 可選。這是蘋果為了旗下多個系統(tǒng)提供的一套統(tǒng)一的 UI 編寫框架,同樣可以降低多平臺應(yīng)用開發(fā)門檻。
不過,在開發(fā)者看來,是否要在 Mac 平臺上做一個原生應(yīng)用仍存在爭議。尤其是那些偏向娛樂消費的應(yīng)用,比如說你想在嗶哩嗶哩上看一部動漫,在 iPad 端可能會點開一個應(yīng)用,但在 Mac 上則習(xí)慣直接登錄網(wǎng)頁端。如果能用網(wǎng)頁端就能解決,原生應(yīng)用自然不是必需,那消耗精力開發(fā)獨立桌面應(yīng)用的意義又是什么?拋開市場需求不談,這在缺乏明確商業(yè)利益的情況下更是如此。根據(jù)彭博社于今年年初的報道,蘋果計劃在 2021 年左右徹底打通移動端和桌面端的應(yīng)用,屆時 iPad、iPhone 和 Mac 將會共用一個應(yīng)用商店,消費者可以實現(xiàn)「一次付費,同時在三個平臺使用應(yīng)用」的體驗,而無需在不同平臺上分別購買同一個應(yīng)用。這不是一件容易的事情,它涉及到蘋果對應(yīng)用商店戰(zhàn)略的調(diào)整,也取決于開發(fā)者群體的支持力度。
-
iPad
+關(guān)注
關(guān)注
1文章
1373瀏覽量
81118 -
Mac
+關(guān)注
關(guān)注
0文章
1099瀏覽量
51372
原文標(biāo)題:在 Mac 上也能用 iPad 應(yīng)用了,蘋果是如何實現(xiàn)的?
文章出處:【微信號:ifanr,微信公眾號:愛范兒】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論