• 您現在的位置是:首頁 >市場 > 2021-02-13 06:38:18 來源:

    Project Catalyst旨在將應用程序引入Mac 增強iPad的標題

    導讀 Project Catalyst旨在使許多現有的100萬個iPad應用程序在Mac上本地工作,其方式與現有的Mac軟件無法區分,并且對用戶透明。與此同時,它也

    Project Catalyst旨在使許多現有的100萬個iPad應用程序在Mac上本地工作,其方式與現有的Mac軟件無法區分,并且對用戶透明。與此同時,它也有望幫助推動iPad優化應用的供應。這是如何做。

    顧名思義,Catalyst是一種以更少的努力或成本實現新事物的方法。巧合與否,這個名字也與macOS Catalina對戰,后者需要使用使用它創建的新Mac游戲。

    去年夏天,Apple最初推出了Catalyst的概念 - 沒有任何正式名稱 - 作為內部實驗,將為iOS創建的四個游戲帶到macOS Mojave:新聞,股票,家庭和語音備忘錄。

    當時,我們將 Public Beta版本中的新應用程序描述為“絕對仍在進行中”,但也清楚地顯示“僅限iOS應用程序轉換到Mac的可能性,同時為開發人員提供更少的工作為用戶提供更好的體驗,而不僅僅是提供Web應用程序界面。“

    其他人則更為關鍵,專注于移植應用程序中的特定粗糙邊緣,而不是看到冰球可能去的任何可能性。一些人認為iPad應用程序不可能在Mac上有賓至如歸的感覺。20年前蘋果公司首次開始展示最初的Mac OS X時,過度的玩世不恭也是一個常見的錯誤,最初的Mac OS X與Mac OS Classic相比,最初感覺不那么優化和“活潑”。需要時間來揭示Apple的新軟件最終會帶來更好的體驗。

    我們已經看到了Catalyst的巨大進步。蘋果公司現在已經采取了去年所學的一切,采用以前的內部工具并向第三方開發人員開放,因此他們可以將自己為iOS構建的應用程序轉換為能夠在macOS Catalina上運行的本機UIKit應用程序。

    Apple的首席軟件架構師Craig Federighi 稱這一策略“毫無疑問”。蘋果公司對Catalyst充滿信心地使用它為Catalina的關鍵應用程序提供動力,包括新的Find My和Podcasts應用程序。

    第一步:制作一款出色的iPad應用

    Catalyst不打算在Mac桌面上運行iPhone大小的應用程序作為浮動桌面配件。相反,它旨在構建完整的Mac游戲,可以充分利用Apple桌面平臺的幾乎所有功能。出于這個原因,Apple將Catalyst稱為將iPad應用程序移植到Mac上,特別指出轉換的第一步是“構建一個出色的iPad應用程序”。

    自從2010年史蒂夫·喬布斯首次推出iPad以來,蘋果公司一直堅持認為iPad本來是一種獨特的新體驗,而不僅僅是“大型iPod touch”。它始終指向專門針對iPad進行優化的大型應用程序庫,作為其他平板電腦的主要差異化,這些平板電腦用作延伸的手機應用程序,或PC“混合動力”,旨在將觸摸或平板電腦概念分層到傳統的Windows PC桌面之上。

    經過對其不同方法的十年迭代,不可能認為Apple錯了。谷歌'承認存在問題。

    雖然有PC觸控筆的筆記本電腦的熱情支持者,或支持傳統窗口和鼠標式指針的可拆卸混合PC平板電腦,但這些產品實際上并沒有以有意義的數量銷售,也沒有引入任何優秀的優化庫軟件可以非常有效地使用觸摸或板巖外形。

    蘋果公司故意將iPhone,iPad和Mac應用程序孤立起來,這不僅帶來了無與倫比的龐大平板電腦優化應用程序庫,而且還導致蘋果銷售最多的平板電腦,而不會破壞其傳統Mac的銷售。事實上,蘋果繼續保持不斷增長的Mac用戶群,盡管它已經創造了更大的iPad用戶群。Apple的iPad不是像上網本這樣的臨時時尚,而是建立了一個可持續的用戶平臺,通過簡化的平板電腦體驗滿足特定需求。對于許多人來說,iPad是使用Mac的補充,同時又是一種獨特的體驗。

    去年,蘋果公司的軟件主管克雷格·費德瑞(Craig Federighi)明確表示“不”,蘋果公司并沒有試圖撤銷這個或“融合”其iOS和Mac平臺。相反,Catalyst實驗的目的是利用這樣一個事實,即有很多iOS應用程序在Mac上很棒,如果只有一種方法可以將它們移植并將它們轉換為明顯不同的桌面優化體驗對Mac用戶來說很熟悉,而不是像托管的,笨拙的外來兼容墊片。

    為什么需要催化劑

    雖然iOS和macOS一直共享大部分核心操作系統軟件并提供非常類似的應用程序構建方法,但開發人員用于為Mac編寫AppKit應用程序或為iPhone編寫UIKit應用程序的API框架細節存在顯著差異和iPad。在某些情況下,這是由于硬件差異或與Mac的像素精確鼠標指針的非常獨特的性質相比,與iOS手指手勢的更大的觸摸陰影相比。在其他領域,Apple只是簡單地編寫iOS API的元素,因為它有機會重新開始并打破傳統的兼容性限制。

    因此,要精通Mac和iOS編碼,開發人員必須了解所有這些不同的實現和方法。除此之外,為每個代碼編寫的代碼需要單獨維護,因此每個更改,功能添加和錯誤修復不僅需要進行兩次,而且還需要稍微不同的方式。很顯然,公司會同時維護其軟件的Mac和iOS版本,但在許多情況下,這些版本由完全不同的組處理。

    通過做大量的工作來處理Catalyst本身的許多差異,Apple現在允許iOS開發人員只進行一組有限的特定于實現的更改,以便在macOS Catalina上運行現有的UIKit代碼。兩者的源代碼現在可以在同一個Xcode項目中維護,只需進行一次大多數更改,大大簡化了維護和優化不斷發展的代碼所需的工作。

    建立一個更好的鼠標比喻

    使用Catalyst將iPad應用程序移動到Mac涉及檢查Xcode中編譯Mac代碼的平臺目標框。幕后工作主要由Apple處理,既利用其編譯器工作生成可在其硬件架構上移植的代碼,又利用macOS Catalina中的新框架編寫,以支持UIKit作為本機Mac框架。

    Apple表示,當開發人員在其iPad Xcode項目中添加“Mac”作為目標時,“添加了基本的Mac桌面和窗口功能,并且觸摸控件適用于鍵盤和鼠標。您使用代碼創建的自定義UI元素會遇到然后,您可以繼續使用UIKit API在Xcode中實現功能,以確保您的應用程序看起來很棒并且可以無縫地工作。“

    該公司還詳細說明,Catalyst會自動為系統偏好設置,觸控條輸入,用于編輯文本的上下文菜單和文件管理添加Mac支持。并且還針對活動視圖,拆分視圖,文件瀏覽器和表單等功能進行了特定于操作系統的更改。開發人員必須了解如何在Mac上布局有意義的接口。Apple指出,“屏幕底部的滑動刪除,操作表命令和控件等iOS慣例針對手持設備上的觸摸交互進行了優化”,與“專用鍵和鍵盤快捷鍵,菜單等macOS約定形成對比”窗口頂部的命令和控件針對鍵盤,鼠標和觸控板交互以及單獨的顯示進行了優化。“

    Apple的人機界面指南詳細介紹了Mac約定與iOS根本不同的各種方式,包括應用程序布局和導航約定,這些約定可以特定于應用程序的類型和目的。因此,開發人員需要做的工作多于單擊一個按鈕,但這遠遠少于在Mac上從頭開始,或者將移動應用程序轉移到通過瀏覽器訪問的通用Web服務。

    開發人員為Mac定制iPad應用程序所做的一些工作也將幫助他們提供更好的iPad應用程序,充分利用iPadOS提供的更復雜的環境。這包括支持更大的工作區域,支持使用拆分視圖,幻燈片和畫中畫的多個并發應用程序,以及它們之間的拖放交互。Apple還建議開發人員添加對Mac用戶所期望的鍵盤快捷鍵的支持,以及對任何選擇使用鍵盤的iPad用戶的增強功能。

    ARM和滯后?

    然而,Catalyst并不是構建所有Mac應用程序的單一未來。今天的AppKit開發人員不必擔心很快就會被淘汰。事實上,Apple正在繼續通過各種功能增強AppKit,包括新的SwiftUI。相反,Catalyst的目的是讓更廣泛的iOS UIKit開發人員能夠將他們的工作帶到Mac上,而無需了解歷史上用于構建Mac軟件的許多獨特API。

    這對于從事iOS項目的小團隊來說至關重要,這些團隊無法從頭開始編寫Mac版應用程序。對于為iPad構建一系列自定義應用程序的內部企業開發人員而言,這也很重要,并且希望能夠有效地將這些產品提供給Mac用戶。總的來說,Apple的Catalyst戰略有望使開發人員的工作效率更高,從而在Apple平臺上產生更大范圍的更一致的軟件。

    Catalyst不是“仿真”,這將涉及在假裝是iPad芯片的Mac CPU上運行ARM代碼。這也不是Apple未來最終交付基于ARM的Mac的必要步驟。事實上,它恰恰相反,

    它也沒有追求Java VM或Android的通用“一次編寫,隨處運行”的概念,它通過不同的硬件在虛擬機上托管翻譯的字節碼。Catalyst Mac應用程序是本機代碼; 它只是使用一組不同的工具開發,這些工具對于在iOS項目中工作的編碼人員更為熟悉。

    一個根本的誤解

    為數字趨勢寫作,Tyler Lacoma 寫道: “Catalyst的目標是使兩個操作系統上的應用程序都具有通用性,這意味著Mac應用程序也將能夠跨越到iOS。” 他還表示,這可能是“在某些時候正式合并iPadOS和MacOS”的計劃的一部分,但這些想法都不準確。

    歐文·威廉斯拼湊一個更為離奇的采取上中想象中的催化劑是蘋果努力摧毀Electron,這是一種用于構建試圖在各種平臺上看起來原生的網絡應用程序的跨平臺工具。他玩世不恭地將蘋果公司的催化劑描述為“為了讓開發人員重新回到公司的平臺而采取的瑪麗移動”,使用了一些戲劇性的語言,拼命試圖描繪這個星球上最成功的科技公司,因為恐龍咳嗽了它的最后一個恐龍。世界上真正重要的玩家,如Spotify和Slack,轉向網絡應用程序。

    他嘲笑蘋果公司在WWDC舞臺上展示的合作伙伴,他們使用Catalyst在Mac上提供他們的iPad應用程序,因為這是“一個沒人聽說過的賽車游戲,還有一些其他可忘記的產品”,同時也在大聲問道為什么“像Netflix這樣的大品牌或者亞馬遜Prime視頻“不存在,甚至沒有提到Twitter。

    在谷歌努力將Android應用程序引入Chromebook的過程中,威廉姆斯還引用了他所謂的“這個想法的更好例子”。整篇文章都蔑視和嘲笑,但卻未能理解催化劑的重點。

    Catalyst不是用于構建本機Mac應用程序的Web服務的策略。這只是一種利用大量原生iPad應用程序的事實,這一事實是由于有大約4億臺iPad正在使用的現實。在活躍的安裝基礎上“只有”1億臺Mac,并且同樣比例較少的開發人員能夠流暢地構建AppKit Mac軟件。

    由于使用的iPhone甚至更多,因此iPad的發展得到了支持。利用具有UIKit編碼經驗的現有開發人員基礎來快速生成新Mac游戲的潛力將是巨大的。去年夏天,Upwork 將 UIKIt列為自由職業者中增長最快的20種技能之一。

    游戲是一個特別的領域,現有的iPad游戲可以在Mac上引起轟動。Apple強調了Gameloft使用Catalyst將其流行的Asphalt 9賽車游戲帶到Mac上的工作,并表示該團隊能夠在一天內完成初始轉換。由于現代iPad游戲會調用Metal來繪制圖形,因此Catalyst可以利用Mac上的Metal來使用功能更強大的GPU渲染放大的圖形。

    威廉姆斯嘲笑他不知道的游戲,但iOS上的游戲很大,因為iOS本身就很龐大。將大量的iPad游戲移植到Mac上非常容易,這將是一鳴驚人的。

  • 成人app