WWDC2021 のPlatforms State of the Union (SOTU) のメモ

1 min read読了の目安(約1700字 1

WWDC 初日に公開された、次の動画を観た時のメモです。Keynote ではない方の動画です。

Platforms State of the Union - WWDC 2021 - Videos - Apple Developer

このメモの内容は動画の一部についてのものです。ぜひご自身で動画をチェックしてみてください。
※字幕の書き写しではないので、間違っている箇所があるかもしれません

Xcode Cloud

  • Xcode とクラウドでCI/CD
  • Xcode からワークフローの設定や実行ができる
  • Slack への通知も可能
  • ベータ登録あり

async/await

  • Structured Concurrency (構造化された並行性)
    • 同時に行うタスクを整理し推論しやすくする方法
      • 並行の小タスクを簡単に作成できる
      • 「ダンサーのウォームアップが終えるのを待つ」タスクが完了してから「舞台装置を持ってくる」タスクを行っていたコードを書き変える例。これらを並行に処理できるようにする
  • 安全性も重視して設計されている
    • 共有状態へのアクセスが並行タスク間で確実かつ安全に調整される
    • Actor が中核
  • Actor は業界で実証済みのモデル
    • 相互排他的なアクセスのみを提供することで自身の状態を守るオブジェクト
    • 並行のアクセスとそれに伴うローレベルのデータ競合を完全に排除する
    • DispatchQueue をいくつも書くパターンではミスが起きがちだった
  • Swift ではactor キーワードで宣言できる
    • async/await で相互排他性を保証する
    • 手動で同期させる必要がない
  • メインキューにdispatch していた関数を@MainActor を使って書けるようになる
  • 言語仕様に組み込んだので、 パフォーマンス改善も可能になる
    • コンパイラが賢くなるにつれて並行コードの速さも向上する

SwiftUI

  • List への機能追加 (1行で書ける)
    • スワイプアクション .swipeActions
    • pull-to-refresh .refreshable
    • 検索フィールド .searchable
  • 自動で見栄えを調整するUI が1行のコードで実現可能

Swift Playgrounds 4

  • iPad でSwift やSwiftUI のコードが書ける
  • アプリをApp Store Connect へアップロードできる

AR

  • Object Capture で3Dモデルを簡単に作れる

Metal

  • M1 リリース
  • Apple のCPU, GPU, Metal でUnified Metal Graphics Platform (統合型グラフィックスプラットフォーム) を実現
    • 10億台以上のデバイス
    • あるゲームはMac 版とiPad 版をリリースできた
  • ゲームや開発ツールのようなアプリで高性能のグラフィック処理が可能

  • 通知への新しいアプローチ
  • Interruption Level API
    • 緊急性を指定して通知を扱うことが出来る
  • 新しいUser Notification API
  • Focus Status API
  • Screen Time API

SharePlay

  • GroupActivities フレームワーク
  • 複数のデバイスで動画再生を同期
    • コンテンツのデータは送受信しない (各端末がサーバーからデータをダウンロードするため高品質)
  • E2E 暗号化でプライバシーが保たれる
  • ホワイトボードに描くペンの動きを同期する例
    • 画面共有ではなく、全員の端末から書き込める