Project Catalyst は、既存の 100 万個の iPad アプリの多くが、既存の Mac ソフトウェアと事実上区別がつかず、ユーザーに透過的な方法で Mac 上でもネイティブに動作できるように設計されています。同時に、iPad に最適化されたアプリの供給を促進することも期待されています。その方法は次のとおりです。
触媒コンバーター
その名の通り、マック触媒より少ない労力やコストで何か新しいことを実現する方法です。偶然かどうかは別として、その名前は、macOS カタリナ、それを使用して作成された新しい Mac タイトルを使用するために必要になります。
昨年の夏、Apple は当初、iOS 用に作成された 4 つのタイトル (ニュース、株式、ホーム、ボイスメモ) を macOS Mojave に導入するための内部実験として、正式名称なしで Catalyst のコンセプトを導入しました。
当時、私たちは説明されたパブリックベータリリースの新しいアプリは「間違いなくまだ作業中」であるが、同時に「iOS専用アプリがMacに移行する可能性も明確に示している。開発者の作業は少なくなり、同時にユーザーには単純なアプリよりもはるかに優れたエクスペリエンスを提供できる」 Web アプリ インターフェイスが提供されます。」
Mojave の Home アプリは当初 iOS の世界にしっかりと固定されていましたが、Mac 上の UIKit アプリの可能性を誇示しました
他の人は、パックがどこに行くかについての可能性を見るよりも、移植されたアプリの特定の荒削りな部分に焦点を当て、はるかに批判的でした。 iPad アプリを Mac 上で快適に使用することは不可能であると結論付ける人もいます。過度の皮肉は、Apple が最初にオリジナルの Mac OS X を披露し始めた 20 年前によく見られた間違いでもありました。当初、Mac OS Classic と比べて、はるかに最適化されておらず「軽快」であるように感じられました。 Apple の新しいソフトウェアが最終的にはるかに優れたエクスペリエンスを提供することが明らかになるまでには時間がかかりました。
Catalyst ではすでに大きな進歩が見られます。 Apple は現在、過去 1 年間に学んだすべてのことを活用して、以前は社内ツールであったツールをサードパーティ開発者に公開し、iOS 用に構築された独自のアプリを macOS Catalina で実行できるネイティブ UIKit アプリに変換できるようにしました。
Appleのチーフソフトウェアアーキテクト、クレイグ・フェデリギ氏説明されたこの戦略は「簡単」です。そして Apple は、Catalyst に十分な自信を持っており、新しい Find My や新しい Find My などの Catalina の主要アプリを強化するために Catalyst を使用しています。ポッドキャストアプリ。
Catalyst は、iPhone サイズのアプリを Mac デスクトップ上でフローティング デスク アクセサリとして実行することを目的としていません。むしろ、Apple のデスクトップ プラットフォームのほぼすべての機能を活用できる本格的な Mac タイトルを構築するように設計されています。このため、Apple は Catalyst を移植と呼んでいます。iPadアプリ特に、変換の最初のステップは「優れた iPad アプリを構築する」ことであると述べています。
2010年にスティーブ・ジョブズによってiPadが初めて発表されて以来、AppleはiPadが単なる「大きなiPod touch」ではなく、明確で新しい体験を意図していると断固として主張してきた。拡張された電話アプリとして機能する他のタブレットや、従来の Windows PC デスクトップの上にタッチやタブレットのコンセプトを重ねることを目的とした PC の「ハイブリッド」との主な差別化点として、iPad 向けに特別に最適化されたアプリの大規模なライブラリが常に指摘されています。
10年間にわたり、それぞれの異なるアプローチを繰り返した結果、Appleが間違っていたと主張するのは不可能だ。さまざまなサイズの Android デバイスの無限のスペクトルにわたってスケーラブルな Android 電話アプリを簡単に実行できるようにするための Google の長年の努力により、ユーザーにとってタブレットのエクスペリエンスは非常にひどいものになり、ザ・ヴァージ問題があることを認めている。
また、タッチ スクリーンを備えたラップトップ PC や、従来のウィンドウ操作とマウス スタイルのポインタをサポートする取り外し可能なハイブリッド PC タブレットの熱烈な支持者もいますが、これらの製品はどれも実際に意味のある数が売れておらず、最適化された優れたライブラリを生み出しているわけでもありません。タッチまたはスレート フォーム ファクターを非常に効果的に利用するソフトウェア。
Apple が意図的に iPhone、iPad、Mac アプリをサイロ化したことで、タブレットに最適化されたアプリの比類のない膨大なライブラリが得られただけでなく、Apple は従来型 Mac の売上を押しつぶすことなく、圧倒的に多くのタブレットを販売する結果となりました。実際、Apple はさらに大きな iPad ユーザー ベースを生み出しながらも、Mac ユーザーのインストール ベースの増加を維持し続けています。 Apple の iPad は、ネットブックのような一時的な流行ではなく、合理化されたタブレット エクスペリエンスによって、特定のニーズを持つユーザーの持続可能なプラットフォームを確立しました。そして多くの人にとって、iPad は Mac の使用を補完するものでありながら、別個のエクスペリエンスでもあります。
昨年、Apple のソフトウェア責任者である Craig Federighi 氏は、「いいえ」、Apple はこれを元に戻したり、iOS と Mac プラットフォームを「統合」したりするつもりはないと明言しました。その代わりに、Catalyst の実験は、Mac 上にあれば便利な iOS アプリがたくさんあるという事実を利用することを目的としていました。それらを移植して、明らかに異なった、デスクトップに最適化されたエクスペリエンスに変換する方法さえあれば、 Mac ユーザーにとっては馴染みのあるものであり、ホストされたぎこちない異質な互換性シムのようなものではありません。
なぜ触媒が必要なのか
iOS と macOS は常にコア OS ソフトウェアの多くを共有しており、アプリの構築方法において非常に似たアプローチを提供していますが、開発者が Mac 用の AppKit アプリや iPhone 用の UIKit アプリを作成するために使用する API フレームワークの詳細には大きな違いがあります。そしてiPad。場合によっては、これはハードウェアの違いによるもの、または iOS の指ジェスチャーのはるかに大きなタッチ シャドウと比較して、Mac のピクセル精度のマウス ポインターの非常に明確な性質に関連している場合があります。他の分野では、Apple は単に iOS API の要素を別の方法で記述しました。これは、従来の互換性の制約を打ち破って新たにスタートする機会があったからです。
その結果、Mac と iOS の両方のコーディングに習熟するには、開発者はこれらのさまざまな実装とアプローチをすべて理解する必要があります。さらに、それぞれに対して書かれたコードは個別にメンテナンスする必要があるため、すべての変更、機能追加、バグ修正を 2 回行う必要があるだけでなく、わずかに異なる方法で行う必要があります。ソフトウェアの Mac バージョンと iOS バージョンの両方を保守している企業は明らかにありますが、多くの場合、これらはまったく異なるグループによって処理されています。
これらの相違点の多くを Catalyst 自体で処理するために膨大な作業を行うことで、Apple は現在、iOS 開発者が実装固有の限られた変更のみを加えて、既存の UIKit コードを macOS Catalina 上で実行できるようにしています。両方のソース コードを同じ Xcode プロジェクト内で維持できるようになり、ほとんどの変更を 1 回だけ行うことができるため、進化するコードの維持と最適化に必要な作業が大幅に簡素化されます。
より良いマウスの比喩を構築する
Catalyst を使用して iPad アプリを Mac に移動するには、Mac 用のコードをコンパイルする Xcode のプラットフォーム ターゲット ボックスをチェックする必要があります。舞台裏の作業は主に Apple が担当しており、ハードウェア アーキテクチャ間で移植可能なコードを生成するコンパイラ作業と、ネイティブ Mac フレームワークとして UIKit をサポートするために作成された macOS Catalina の新しいフレームワークの両方を活用しています。
Apple は、開発者が iPad Xcode プロジェクトのターゲットとして「Mac」を追加すると、「基本的な Mac デスクトップおよびウィンドウ機能が追加され、タッチ コントロールがキーボードとマウスに適応されます。コードで作成したカスタム UI 要素が表示されます」と述べています。その後、UIKit API を使用して Xcode の機能を引き続き実装し、アプリの見栄えとシームレスな動作を確認できます。」
同社はまた、Catalystがシステム環境設定、Touch Bar入力、テキスト編集用のコンテキストメニュー、およびファイル管理に対するMacサポートを自動的に追加するとも詳述した。また、アクティビティ ビュー、分割ビュー、ファイル ブラウザ、フォーム シートなどの機能にも OS 固有の変更が加えられています。開発者は、Mac 上で意味のあるインターフェイスをレイアウトする方法を理解する必要があります。 Apple は、「専用キーやキーボード ショートカット、メニューなどの macOS の規則とは対照的に、スワイプによる削除、アクション シート コマンド、画面下部のコントロールなどの iOS の規則は、ハンドヘルド デバイスでのタッチ操作に最適化されている」と述べています。ウィンドウ上部のコマンドとコントロールは、キーボード、マウス、トラックパッドの操作と個別のディスプレイ用に最適化されています。」
Catalyst は、プラットフォーム固有の機能を備えたアプリを提供するように設計されています
アップルのヒューマンインターフェースガイドラインアプリのレイアウトやナビゲーションの規約など、Mac の規約が iOS とは根本的に異なるさまざまな点について詳しく説明しています。これらは、配信されるアプリの種類や目的に特有のものです。そのため、開発者にとってはボタンをクリックするだけの作業よりも多くの作業が必要になりますが、Mac で最初から作業を開始したり、ブラウザを通じてアクセスされる汎用 Web サービスにモバイル アプリを転送する作業に比べればはるかに少なくなります。
開発者が iPad アプリを Mac 用に調整するために行う作業の一部は、iPadOS が提供するより洗練された環境を最大限に活用した、より優れた iPad アプリを提供するのにも役立ちます。これには、Split View、Slide Over、Picture in Picture を使用し、それらの間でドラッグ アンド ドロップ操作を行う複数のアプリを同時に実行できる、より大きな作業領域のサポートが含まれます。 Apple はまた、開発者に対し、Mac ユーザーが期待しているキーボード ショートカットのサポートを追加すること、またキーボードの使用を選択する iPad ユーザー向けの機能拡張を追加することを推奨しています。
ARMとラグ?
ただし、Catalyst は、すべての Mac アプリを構築する唯一の未来として位置づけられているわけではありません。今日の AppKit 開発者は、すぐに廃止されることを心配する必要はありません。実際、Apple は新しい SwiftUI を含むさまざまな機能で AppKit を強化し続けています。その代わりに、Catalyst は単に、iOS UIKit 開発者のより広い世界が、歴史的に Mac ソフトウェアの構築に使用されてきた独自の API をほとんど学習することなく、自分の作業を Mac に取り込めるようにすることを目的としています。
これは、Mac バージョンのアプリを最初から作成することを正当化できない iOS プロジェクトに取り組んでいる小規模なチームにとって非常に重要です。これは、iPad 用の一連のカスタム アプリを構築し、それらの製品を Mac ユーザーも利用できるようにする効率的な方法を必要としている社内の開発者にとっても重要です。一般に、Apple の Catalyst 戦略は、Apple のプラットフォーム全体でより一貫性のあるソフトウェア タイトルをより広範囲に提供することにより、開発者の生産性を向上させることを約束しています。
Catalyst は、iPad チップのふりをして Mac CPU 上で ARM コードを実行するような「エミュレーション」ではありません。また、これは Apple が将来 ARM ベースの Mac を最終的に提供するために必要なステップでもありません。実際、これはある意味逆で、UIKit コードをコンパイルして Mac の Intel プロセッサ上でネイティブに実行できるようになります。
また、異なるハードウェア上の仮想マシン上で変換されたバイトコードをホストする Java VM や Android の普遍的な「一度書けば、どこでも実行できる」という概念も追求していません。 Catalyst Mac アプリはネイティブ コードです。これは、iOS プロジェクトでの作業経験のあるプログラマーにとってより馴染みのある、別のツール セットを使用して開発されているだけです。
根本的な誤解
執筆者デジタルトレンド、タイラー・ラコマ書きました「Catalyst の目標は、両方のオペレーティング システムでアプリをユニバーサルにすることです。つまり、Mac アプリも iOS にクロスオーバーできるようになります。」同氏はまた、それが「ある時点でiPadOSとMacOSを正式に統合する」計画の一部である可能性があると示唆したが、どちらの考えも正確ではない。
オーウェン・ウィリアムズまとめるはるかに奇妙な見方中くらいCatalyst は、さまざまなプラットフォームでネイティブに見えるようにする Web アプリを構築するためのクロスプラットフォーム ツールである Electron を破壊する Apple の取り組みであると想像されていました。同氏はAppleのCatalystを「開発者を同社のプラットフォームに呼び戻すことを目的とした万歳のような動き」と皮肉を込めて表現し、地球上で最も成功したテクノロジー企業を必死に最後の息を呑む恐竜のように描写しようとする劇的な言葉の段落を使った。 Spotify や Slack など、世界で本当に重要なプレーヤーが Web アプリに移行する一方で、関連性に息をのむほどです。
彼は、Apple が WWDC のステージで Catalyst を使用して Mac 上で iPad アプリを配信することを実証したパートナーを「誰も聞いたことのないレーシング ゲームやその他の忘れ去られた製品がいくつかある」と嘲笑しながら、なぜ「Netflix やAmazon Prime Video」は言及するまでもなく存在しませんでした。ツイッター。
ウィリアムズ氏はまた、AndroidアプリをChromebookに導入するGoogleの取り組みについて、同氏が「このアイデアのより良い例」と呼んだものを挙げた。記事全体は軽蔑と嘲笑に満ちていたが、Catalystの要点が何なのかさえ理解できなかった。
Catalyst は、Web サービスにネイティブ Mac アプリを構築させるための策略ではありません。これは、約 4 億台の iPad が使用されているという現実に基づいて、ネイティブの iPad アプリが大量に存在するという事実を活用する単なる方法です。アクティブなインストールベースにある Mac は「わずか」 1 億台であり、同様に比例して、AppKit Mac ソフトウェアの構築に精通した開発者も少なくなります。
iPad の開発は、はるかに多くの iPhone が使用されているという事実によって促進されています。 UIKit コーディングの経験を持つ既存の開発者ベースを活用して、新しい Mac タイトルを迅速に制作できる可能性は非常に大きくなります。去年の夏、アップワーク引用されたUIKIt は、フリーランサーの間で最も急速に成長しているスキルのトップ 20 の 1 つです。
Catalyst はネイティブの Metal グラフィックスを使用して iPad ゲームを Mac に提供します
ゲームは特に、既存の iPad タイトルが Mac での活躍が期待できる分野の 1 つです。 Apple は、Catalyst を使用して人気のアスファルト 9 レーシング ゲームを Mac に導入した Gameloft の取り組みを強調し、チームが最初の移行を 1 日で完了できたと述べました。最近の iPad ゲームは Metal を呼び出してグラフィックスを描画するため、Catalyst は Mac 上の Metal を利用して、より強力な GPU を使用してスケールアップされたグラフィックスをレンダリングできます。
ウィリアムズ氏は自分が知らなかったゲームを嘲笑しましたが、iOS 自体が巨大であるため、iOS でのゲームは巨大です。 iPad ゲームの膨大なライブラリを Mac に移植するのが非常に簡単になることで、大ヒットとなるでしょう。