🍎

WWDC2023【Platforms State of Union】セッションの日本語まとめ

2023/06/08に公開

なに?

この記事は、WWDC2023「Platforms State of Union」の日本語版要約です。

セッション動画は1時間半と結構長いので、全体像をまず把握するために作成しました。

内容は動画の流れに沿っているので、視聴する前の予習として、あるいは視聴後の復習として、または視聴しながら内容をチェックするための参考資料として、ぜひお役立てください。

まず「Platforms State of Union」とは

この「Platforms State of Union」セッションでは通常、iOS、macOS、watchOS、tvOSなどのOSの新機能や改善点について説明されます。それに加えて、新たなAPIや開発ツール、その他の技術革新についても詳細に説明されます。

「Platforms State of the Union」は主に開発者を対象としているため、テクニカルな内容が多いです。これは、開発者がAppleのプラットフォームでのアプリケーション開発を最大限に活用できるようにするためです。

このセッションは、WWDC初日の「Keynote」セッションの後に開催されます。「Keynote」では、一般ユーザー向けの新製品や機能の発表が中心で、その後に「Platforms State of the Union」でより技術的な詳細が発表される、という流れになっています。

  • Platforms State of the Union - WWDC23 - Videos - Apple Developer

https://developer.apple.com/videos/play/wwdc2023/102/

「Platforms State of Union」まとめ

  • iOSとiPadOSの新しいインタラクティブウィジェット
  • macOS上の新しいウィジェット体験
  • watchOS 10の美しいデザイン
  • tvOSのコンティニュイティカメラ
  • 新しいプラットフォームvisionOS

Appleは、iOS, iPadOS, macOS, tvOS, watchOS, そして新しく加わったvisionOSといった各プラットフォームでの新機能を発表しました。これらはより豊かなユーザ体験を提供するためのもので、新たなインタラクティブウィジェット、美しいデザイン、最先端のハードウェア技術を安全に利用する方法などが含まれています。

Appleのプラットフォームは常に進化し、開発者が最新のユーザニーズに対応できるようになっています。これらのプラットフォームは一緒に働き、アプリケーションがユーザの期待と一致する一貫性と信頼性を提供します。アプリケーションはこのエコシステムにとって重要で、ユーザが日々の生活を助け、一つのデバイスから別のデバイスへと簡単に移行する体験を提供します。

  • SwiftとSwiftUIの最新の進歩
  • ハードウェア機能の活用方法
  • ユーザ体験における価値の優先順位
  • 強力なツールの改善
  • visionOSとApple Vision Proの次世代アプリケーション開発

このセッションでは、SwiftとSwiftUIの最新の開発、ハードウェア特性の活用方法、体験の価値の優先順位、毎日使う強力なツールの改善など、多くのトピックが取り上げられます。さらに、最新のプラットフォームであるvisionOSの技術に深く焦点を当て、Apple Vision Pro向けの次世代アプリケーション開発方法について解説します。

Swiftについては、新しいAPIタイプの導入により、より使いやすく、より正確になることが強調されています。これらの新しいAPIは、マクロと呼ばれ、開発者が自身のプロジェクトで生成した新たなコードを利用することができます。マクロは、言語の一部であるかのようにAPIを操作でき、Xcode内で生成されたコードがプロジェクトの一部であるかのように感じさせます。

また、Swiftのマクロは、ユーザが即座にエラーを修正できるように、開発者がコードを書いている最中にフィードバックを提供します。これにより、アプリが実行中に発生する可能性のあるエラーを早期に解決できます。

  • マクロ機能の透明性と可視性
  • マクロを使った言語の拡張
  • コミュニティによるマクロの共有と利用
  • Swiftのプロジェクト採用を促進する言語の進歩

マクロのような言語の進歩により、Swiftはこれまで以上に多くのプロジェクトで採用されるようになりました。

  • SwiftとC++の相互運用性
  • SwiftUIによるユーザーインターフェースの構築
  • 既存のアプリにおけるSwiftUIの利用
  • 新しいアニメーションAPI

一方、SwiftUIはAppleの全プラットフォームにおける現代的なユーザーインターフェースの構築に最適なツールであり、コードの再利用性を最大限に高めます。今年のリリースでは、新たなPie ChartsとSwift Chartsの選択機能、新しいインスペクタAPI、MapKitのサポート強化など、開発者の要望に応じた新機能が追加されています。

そして注目すべきは、アニメーションの強化です。新たなAPIであるAnimationPhaseにより、わずかなコードで洗練されたアニメーションを作成することが可能になりました。これらの進歩は、ユーザーインターフェースの次世代構築を促進する重要な一歩と言えます。

  • SwiftUIにおけるアニメーションとデータフローの改善
  • Swiftの新機能Observableマクロ
  • SwiftDataの導入と利用
  • SwiftUIとSwiftDataの連携

SwiftUIでは、キーフレーミングに完全対応して、より進んだアニメーションをサポートします。この強力なAPIは、新しいSwiftUIベースのMapKit APIのプロパティを含む何でもアニメーション化することを可能にします。

また、データフローが簡素化され、StateとEnvironmentに集中できるようになります。Swiftの新しいマクロサポートにより、ObservableObjectに準拠し、各プロパティにPublishedプロパティラッパーを追加するようなコードを書く必要がありません。新たなObservableマクロがそれを置き換えます。クラスを@Observableで注釈付けするだけで、すべての公開プロパティが自動的に公開されます。

さらに、新しいデータ管理フレームワークSwiftDataが導入されました。SwiftDataは、Core Dataの堅固な永続性レイヤーの上に構築されていますが、APIはSwift用に完全に再設計および再構想されています。SwiftUI同様、SwiftDataもコードに完全に集中しています。

SwiftUIとSwiftDataの組み合わせは、開発者が単純なボイラープレートに時間を費やすことなく、アイデアの構築に集中できる新しい開発アプローチの基盤となります。

WidgetKit、App Intents、TipKit、およびAirDrop

  • WidgetKitによるコンテンツの表示拡張
  • App Intentsによるシステムへの統合強化
  • TipKitによるアプリ内での美しいヒントの提供
  • AirDropによる近くのユーザーとのコンテンツ共有の利便性向上

新たな4つのアプリ体験が導入されます。WidgetKitを使用すると、システム全体でコンテンツを表示することができます。App Intentsを使うと、アプリの機能がシステムによりシームレスに統合されます。TipKitを使用すると、直接アプリ内に美しいヒントを表示できます。AirDropを使用すると、近くのユーザーとコンテンツを共有するのがさらに便利になります。

WidgetKitを使用すると、アプリから重要な情報を引き出し、ユーザーが日々の活動を行う中で、より簡単に、より直感的にアプリ体験を利用できるようになります。そして今年、ウィジェットはさらにパワフルになります。iOS 17で再ビルドすれば、簡単な変更だけで、既存のウィジェットがiPhoneのStandByで見事に表示されます。これらは背景を削除して拡大表示され、辺縁まで描画され、隣り合って表示されると美しいです。

また、新たに対話性のサポートが追加され、ウィジェットをより有用にすることができます。リマインダーをチェックするなど、タップだけで完了する簡単なアクションは、ウィジェットから直接処理できるようになります。

また、これらの新しいウィジェットの更新は、すべてSwiftUIベースのアーキテクチャによって可能になりました。ウィジェットのコードは非同期に実行されてコンテンツを生成し、それが構築するSwiftUIビューはアーカイブに保存されます。その後、ウィジェットが描画される必要があるときに、アーカイブをロードし、バックグラウンドでレンダリングし、それをシステムUIの一部として表示することができます。

これらの新しい機能を既存のウィジェットに組み込むのは非常に簡単で、ウィジェットの背景を特定し、そのパディングをWidgetKitが提供するデフォルトに更新するだけです。SwiftUIのスタックベースのレイアウトにより、システムはウィジェットの色とスペースをコンテキストに基づいて調整できます。また、SwiftUIのボタンやトグルをウィジェットに追加することで、対話性も簡単に採用できます。

  • ウィジェットキットとApp Intentsの利用によるアプリ体験の向上
  • TipKitによる機能発見の強化
  • AirDropを用いたコンテンツの簡単な共有
  • プラットフォームのハードウェア機能へのアクセス強化
  • ゲーム、カメラ、ディスプレイ、Apple Watchの改善について

ウィジェットキットとApp Intentsにより、アプリの機能をユーザーが新たな方法でアクセスできるようになりました。また、新たに導入されたTipKitは、ユーザーがアプリの機能を適切なタイミングで学習できるように支援します。これにより、開発者が作成した機能がユーザーにとって有用であるにも関わらず、その存在を知らないユーザーを減らすことが可能になります。

さらに、AirDropを使用すれば、アプリからのコンテンツを近くのデバイスに簡単に送信できます。これにより、ユーザーは共有シートをスキップし、すばやくコンテンツを送信できます。これらの新機能を利用すれば、アプリのコンテンツを適切な場所とタイミングでユーザーに提供する体験を構築することが可能になります。

Appleのプラットフォームは、製品のユニークなハードウェア機能に即座にアクセスできるように設計されています。これにより、ニューラルエンジンを利用した写真の処理や、加速度計を利用した睡眠運動の測定など、APIを利用してハードウェア技術の力を簡単に引き出すことができます。

さらに、今年はゲーム、カメラ、ディスプレイ、Apple Watchの改善にも注目が集まっています。例えば、AppleのシリコンMacは高性能なゲームを動作させるのに最適なプラットフォームとなり、Game Modeの導入によりMacでのゲーム体験が更に良くなります。

また、カメラはモバイル写真撮影を推進し、驚くべきことができるAPIを展開しています。さらに、iOS、iPadOS、macOSにおけるHDR写真の表示も改善され、これにより画像がよりリアルに表示されるようになります。

これらの機能の導入により、アプリの体験が大きく向上し、開発者は自身のアプリをさらに進化させることが可能となります。

watchOS 10

  1. watchOS 10のデザインリフレッシュとその目標
  2. SwiftUIを用いたシステム全体の改良
  3. 新しいUIコンポーネントのアップデート
  4. watchOS 10の新機能の実例(Backyard Birdsアプリ)
  5. watchOS 10に組み込まれた新しいシステムスペースとAPI

AppleはwatchOS 10のリリースを発表しました。これにより、開発者は新たに改善されたデザインとUIを活用してアプリを作ることができます。この更新には、大きく改良されたデザインと、より大きく明るいディスプレイ、そしてより高機能なハードウェアを活用する新しいシステムが含まれます。

SwiftUIはこの再デザインの核となっており、すべてのアプリをよりダイナミックでカラフルで見やすくするために使用されました。

さらに新しいAPIも提供され、アプリ開発者がユーザーのフィットネス追跡を支援するために使用できます。この新しいシステムは、アプリの見た目をより美しく、そして使いやすくすることを目指しています。

アクセシビリティ

  1. アップルのプラットフォームの中核的価値観
  2. 一般的なユーザーと障害を持つユーザーへの配慮
  3. 新たなアクセシビリティ機能の追加
  4. 開発者がアプリをよりアクセシブルにするためのフレームワークとAPI

Appleはすべてのユーザーが自分たちのデバイスを使って好きなことをすることができるよう、アクセシビリティに重点を置いています。

彼らのプラットフォームは、ユーザーのニーズに対応するアプリ開発を助ける機能を提供します。視覚障害者や聴覚障害者、話すことが難しい人、肢体不自由な人、認知障害を持つ人への配慮が示されています。

また、アニメーションや明滅する光に敏感なユーザーのために、新たなアクセシビリティ機能が追加されました。これらは開発者がアプリに組み込むことができ、ユーザーの選択を尊重しながらよりアクセシブルなコンテンツを提供できます。

  1. AVFoundationの新しいアクセシビリティフェーズとAPI
  2. visionOSとそのアクセシビリティ機能
  3. ユーザープライバシーとアプリの信頼性強化策
  4. サードパーティSDKのプライバシーとセキュリティ管理
  5. Communication SafetyとSensitive Content Analysisフレームワーク

Appleは、プラットフォームを通じてユーザー体験を向上させるために、さまざまな新機能と改善策を紹介しました。これには、明るく点滅する要素を特定し調光する新しいフェーズと、新しいプラットフォームvisionOSのアクセシビリティ機能が含まれています。

また、AppleはプライバシーマニフェストとサードパーティSDKの署名を導入し、デベロッパーがアプリのプライバシーとセキュリティを向上させるのを支援します。

さらに、Communication SafetyとSensitive Content Analysisフレームワークを通じて、子供たちを保護する新たな手段を提供しています。

StoreKit

  1. App StoreとStoreKitの改善
  2. カスタム購入体験とSubscriptionStoreView
  3. SKAdNetworkの改善と再エンゲージメント測定

App StoreとStoreKitの改善を通じて、アプリのメーチャンダイジングUIの制作と調整がより簡単になります。これら全てのアップデートは、ユーザーと開発者の両方にとっての体験の向上を目指しています。

AppleはStoreKitビューの改良と、アプリのダウンロードを促進する広告キャンペーンの効果を測定するSKAdNetworkの強化を発表しました。StoreKitビューはアプリのブランディングに合わせて調整可能で、購入履歴やサブスクリプションの状況に応じてユーザーに提供するオファーをカスタマイズします。また、SKAdNetwork 5は、ユーザーが広告をクリックしてアプリを再度開く際のコンバージョンを測定する機能を提供します。

Xcode

  1. Xcodeとその新しい機能
  2. Xcode 15のテスト結果レポートの再設計

開発ツールXcodeには、新しいコード補完機能が追加され、コードの入力をより高速で正確に行えます。また、アセットカタログリソースのための自動生成シンボルが導入され、コード補完で利用できるようになりました。さらに、Xcode 15はSwiftUIビューのプレビューを改善し、新たにSwiftマクロを使用した簡易な記述が可能になりました。

Xcode 15では、gitのステージングが直接統合され、一つのビューで全ての変更をレビューできるようになりました。

テストレポートも完全に再設計され、テスト結果の理解と対策をより良くするための新たなツールが提供されます。これには、共通のエラーパターンやデバイスや言語ごとのテスト結果の概要が含まれ、注目すべきポイントを示すヒートマップも用意されています。

また、テストの失敗箇所を特定するためのUIのフル録画機能も追加されました。これら全ての更新は、開発者がより簡単に高品質なアプリを開発できるよう支援することを目指しています。

  1. XcodeとXcode Cloudの連携。
  2. 高度なテスト体験とフィードバック。
  3. パフォーマンスの改善と新機能の導入。

Appleの開発ツール、XcodeとXcode Cloudは、アプリケーションのテストとデリバリーを効率化します。新しいテスト体験では、動画やアクセシビリティフレームを用いて、UIやアニメーションの詳細なテストが可能になりました。

また、Xcode Cloudは全てのAppleプラットフォームでの開発をサポートし、ビルド、テスト、そして配布のプロセスをクラウド上で行えます。さらに、TestFlightやApp Store Connectとの連携も可能です。

安全性やパフォーマンスについても、大きな投資がなされています。開発者は、Xcode Cloudのコンピューティング時間を最大限に活用し、アプリケーションのビルド、テスト、デプロイを迅速に行うことができます。

最後に、開発者の体験を向上させるため、ビルド速度の向上やデバッグバイナリのサイズ削減、フレームワークの組み込みや起動時間の短縮など、Xcodeのさまざまな改善が進められています。

Apple Vision ProとvisionOS

  1. Apple Vision ProとvisionOSの技術。
  2. 3D空間でのアプリ開発の重要性。
  3. visionOSでのアプリ体験の再考。
  4. Vision ProとvisionOSでの開発ツール。

Apple Vision Proと新たなOS、visionOSはスペーシャルコンピューティング、すなわち3D空間での計算と体験の世界を切り開いています。これにより、新たなレベルの接続性、生産性、エンターテイメントを実現できます。開発者は、利用者の空間とその部屋にシームレスに溶け込む新たな要素を使ってアプリケーションと相互作用させることが可能になります。これは既に知っている技術、つまりSwiftUI、RealityKit、ARKitが拡張され、visionOSで使用可能になったことで実現します。

開発者は、開発しているアプリが3D空間、すなわち利用者の空間でどのように存在するかを理解する必要があります。この理解は、開発者としての決定を導きます。それにより、開発者はVision Proの能力を最大限に活用し、アプリに集中力と没入感をもたらすことが可能になります。

visionOSでは、アプリは既定でShared Spaceに起動します。Shared Spaceは、Macデスクトップ上の複数のアプリが並ぶように、アプリが並び存在する場所です。利用者は、アプリを好きな場所に配置することができます。この空間内で使用できる要素には、おなじみのウィンドウがあります。あなたのアプリは一つ以上のウィンドウを開くことができ、それらはSwiftUIのシーンとして機能し、空間内の平面として動作します。これらは伝統的なビューやコントロールを含むことができ、3DオブジェクトやRealityViewsをサポートしています。これにより、2Dコンテンツと並べて3Dコンテンツを配置することができます。

最後に、Vision Proは既存のiPadとiPhoneアプリをサポートし、それぞれが元の外観を持つスケーラブルな2Dウィンドウとして機能します。しかし、それは可能性の始まりに過ぎません。visionOSの中心にはiPadOSとiOSに似た部分があり、同じ基本的なフレームワークが多く含まれています。

あなたはSwiftUIとUIKitを使ってユーザーインターフェースを構築し、RealityKitを使って3Dコンテンツ、アニメーション、ビジュアルエフェクトを提示し、ARKitを使ってユーザーの周りの空間を理解します。これらはすべてvisionOS SDKの一部です。

そして、あなたのアプリをVision Proに持ってくるためには、まずXcodeでプロジェクトにvisionOSのデスティネーションを追加します。これにより、再ビルドすると、あなたのアプリは自動的にいくつかの素晴らしい改善を取得します。

visionOSは、視覚的な操作性とフレキシブルなウィンドウ調整を提供し、アプリケーションを立体的な空間に拡張することが可能です。

そのキーフレームワークとして、SwiftUI, RealityKit, ARKitがあります。SwiftUIでは、3Dオブジェクトをウィンドウ内に追加したり、ユーザーインターフェースの深さを微調整したりすることができます。

RealityKitはAppleの3Dレンダリングエンジンで、動的な3Dモデルやアニメーション、視覚効果を扱うのに適しています。さらに、視線追跡を用いて効率的にレンダリングを行い、物理的な環境に適応することが可能です。

また、ARKitはユーザーの周囲の空間を理解し、アプリ内容が室内と対話することを可能にします。これらのフレームワークは、アプリを空間体験に拡張し、より没入感のある体験を提供します。

  1. Apple Vision Proはユーザーが目や声、指、手首、頭を使って操作できる空間コンピューティングデバイスです。これにより、身体障害を持つユーザーでも自然にデバイスを操作することが可能です。
  2. 開発者は既存の開発技術を用いて、アクセシビリティ対応のVision Proアプリを作成できます。アクセシビリティインスペクターを利用して、アプリのアクセシビリティ問題を分析し、改善提案を得ることができます。
  3. XcodeとともにVision Proの開発プロセスを支える新しいツール、Reality Composer Proが登場しました。これにより3Dコンテンツのプレビューと準備が容易になります。
  4. Vision Proの開発ツールはUnityとの深い連携があり、Unityで作成したアプリをVision Proに移植することが可能です。
  5. Vision Proはプライバシーを尊重する設計となっています。アプリはカメラデータへのアクセスなしに、自然に周囲の世界に溶け込むことができます。

Apple Vision Proは、多様な方法での操作が可能な空間コンピューティングデバイスです。開発者は既存の技術を用いてアプリを作成し、アクセシビリティ問題を分析できます。新しいツールReality Composer Proは、3Dコンテンツのプレビューと準備を容易にします。開発ツールはUnityと深く連携しており、Vision Proはユーザーのプライバシーを尊重する設計となっています。

  1. Vision Proの共有とコラボレーション: Vision ProユーザーはFaceTime通話でアプリウィンドウを他のユーザーと共有できます。SharePlayを採用することで、リアルタイムの共有体験が可能になります。
  2. Spatial Personas: Vision Proユーザーは、リアルな空間で他の人と一緒にいるかのように感じる新しい体験を提供します。これはまだ初期段階で、開発者プレビューが今年後半に提供される予定です。
  3. 開発者向けのリソース: visionOS SDK、更新されたXcodeとSimulator、Reality Composer Proが提供され、Vision Proでのデザイン、開発、テストを開始することができます。さらに、技術文書、新しいデザインキットとツール、更新されたHuman Interface Guidelinesも提供されます。
  4. Vision Pro Developer Labs: この夏、Vision Pro Developer Labsが開設され、Vision Proのハードウェアでアプリをテストすることができます。世界各地にラボが設置され、アプリの互換性を評価するためのリクエストを送信することも可能です。
  5. Vision Proの新しいApp Store: Vision Proは新しいApp Storeと共にリリースされ、開発者の作ったアプリを人々が見つけてダウンロードできます。

Vision ProとvisionOSは共有、コラボレーション、革新的な体験の提供を目指しており、開発者はこれらのプラットフォームを利用してアプリを開発し、テストすることができます。開発者向けの多くのリソースが提供され、新しい体験を生み出すことが期待されています。

おわりに

個人的には「やっぱりvisionOSに割く分量は多かった!」という印象です。
例年のことながら、この時期キャッチアップしなくてはいけない事が多くて大変ですが、この要約が少しでも皆さんの手助けになることを願っております🙌


  • Powered by ChatGPT(with me)
  • Platforms State of the Union - WWDC23 - Videos - Apple Developer

https://developer.apple.com/videos/play/wwdc2023/102/

Discussion