📱
WWDC2021 のPlatforms State of the Union (SOTU) のメモ
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 暗号化でプライバシーが保たれる
- ホワイトボードに描くペンの動きを同期する例
- 画面共有ではなく、全員の端末から書き込める
Discussion
関連するメモをscrap の方で作成中です。