cockscomblog?

cockscomb on hatena blog

WWDC20で何が発表される?予想をまとめてみました!

2020年のWWDCは、新型コロナウイルスによる感染症拡大のため、ほかの様々なイベントと同様に開催形式が変わる。現地時間の22日(日本時間では23日)、KeynoteとPlatforms States of the Unionが行われ、その後に様々なセッションビデオが公開される予定だ。

WWDC20

期待

Appleプラットフォームの開発者としては、WWDCは一年で最大の楽しみである。昨年はCatalystやSwiftUIが発表され、たいへん盛り上がった。今年は何が発表されるのか、否が応でも期待が高まる。

SwiftUI 2

今年はとうぜん、SwiftUIの大幅なアップデートが出てくるだろう。画面いっぱいに「SwiftUI 2」の文字が大写しになるのが待ち遠しい。SwiftUIでアプリを作ろうとするとすぐに気づくのだが、SwiftUIはまだ機能不足である。

WKWebViewをラップしたWebViewを作るとする。ブラウザの「戻る」機能を作るために、WebViewが戻れるのかを知りたい。これにはWKWebViewのcanGoBackプロパティを使えばいいはず。実際に戻るにはgoBack(_:)メソッドを呼び出す。こういうのが、SwiftUIでは素直に実装できない。Reactであれば、Refという仕組みがあって、実際に作成されたコンポーネントへの参照が得られるが、SwiftUIにはない。TextFieldのイニシャライザのように、onXxxというコールバックを渡すとか、なんらかのシグナルをPublisherとして渡すとか、そういうことになってしまう。これは面倒なので、このようにViewが内包する状態を参照したり、あるいはViewに何かシグナルを送ったり、そういう機能が追加されると嬉しい。

SwiftUIがカバーする範囲がもっと拡がる必要もある。macOSのアプリをSwiftUIで作った経験から言えば、例えばウインドウそのものをSwiftUIで作れるとか、ウインドウのツールバーとか、そういう部分もカバーされていてほしい。ただし、現状のCocoaにはResponder-chainを活用した部分が多く、SwiftUIでこれを解決するのは骨が折れるだろう。

なんにしても、SwiftUIが非常におもしろい、未来の約束されたフレームワークであることは疑いようがない。宣言的なUIフレームワークであることはもちろん、実際のプレゼンテーションと、コード上の表現が意図的に分離されているところに、その本質がある。コード上では同じButtonでも、macOSiOS/iPadOS、watchOS、tvOSで、それぞれ見かけが異なる。このことは、プラットフォーム毎に最適化されたUIを提供する上で都合がいい。あるいはこの先の、まったく新しいプラットフォーム(もちろんARグラスだ)においても、SwiftUIは役に立つことだろう。

そしてもう一つ、ポストInterface Builderの時代の到来だ。Interface Builderは、今やXcodeの一機能であるが、もともとは独立したアプリケーションとして、Project Builder(Xcodeの前身)を補完するものだった。最近はあまり聞かれないが、Interface BuilderはRADツールと呼ばれていた。SwiftUIの時代では、SwiftUIのコード自体がRADツールであろう。SwiftによるDSLめいた記述でUIを宣言できる。そしてこれは、例えばXcode for iPadのような開発環境において、UI開発の本流となるだろう。

ARM Mac

iPad Proが、「ほとんどのノートパソコンより高速」であると宣伝されるようになってしばらく経つ。少なくともベンチマークの結果からは、この文句に嘘はない。

Macに搭載されると噂されているApple A14ベースの独自のプロセッサは、12コアで、既存のMacBook Airに搭載されているIntelのプロセッサよりも高性能とされる。A14プロセッサはTSMCの5 nmプロセスで製造されると言われている。現在のIntelは、14 nmもしくは10 nmプロセスでプロセッサを作っており、A13までの7 nmプロセスにも到達していない。IntelとARMを単純には比較できないとはいえ、プロセスルールが半分であれば、Intelプロセッサよりも高い性能を得られるというのにも信憑性がある。

開発者からみたとき、ARMへの移行はどれくらい大変なのか。かつてPowerPCからIntelへの移行時に行われたように、Rosettaのような互換レイヤーが提供される可能性もある。そうでなくても、単純なソフトウェアであれば、ソースコードから再コンパイルするくらいで対応できることが多いだろう。バイナリを直接扱っている場合、バイトオーダーやアラインメントによっては対応が必要になるかもしれない。少し厄介なのは、コンパイル済みのSDKやライブラリを使っている場合で、それらの対応を待つ必要がある。最も困難なのは、細かなチューニングが必要なアプリケーションだろう。

消費者向けにARMのMac端末が発売されるのは2021年という噂である。しかし開発者向けには、それに先立ってARM Macの移行キットが提供される可能性もある。PowerPCからIntelへの移行時には、移行キットがリースで提供された。あるいはiPad Proをその目的で使えるとおもしろいが、飛躍しすぎだろうとも思う。

新しい可能性

iOS 14は、前年の失敗から、安定性とパフォーマンスを重視したリリースになると噂される。それでも戦略上、新機能がまったくないということにはならない。

iOSは、その当初からサードパーティに対しては大きな制約の中での開発を強いている。それはセキュリティのためであったり、あるいは端末のリソースを奪い合わないように、という目的がある。反面で、技術的に解決が可能になり、かつそれが必要だと認められれば、新しいAPIが開放されてきた。例えば初期の頃の、アプリのバックグラウンドでの動作を制限する代わりに、Push Notification Serviceを提供する、というのがそれだ。

iOS 14でも、いくらかのAPIが解放されることが期待される。その一つが、ホーム画面のウィジェットだ。iOSにはこれまでにもToday Widgetがあるが、すごく便利かというと、そうでもないと思う。そもそもiOSのホーム画面は、本格的なオーバーホールが必要な時期をとっくに過ぎている。初めてiPhoneが出た頃、私たちが1日に使うアプリの数はたかが知れていた。しかし近年、何もかもがスマートフォンで行える時代においては話が違う。ホーム画面にウィジェットを並べることができたら、Apple Watchのコンプリケーションのように、そのとき必要な情報を一望できるかもしれない。実装はApp Extensionになるだろうけど、全体的なアーキテクチャApple Watchに近い可能性もある。

もう一つ、デフォルトのアプリを変えられるようになるという噂がある。ChromeSafariの代わりにデフォルトにできたら、喜ぶ人も多いだろう。ついでにChromiumのようなものも許可してくれると嬉しい。Xcode for iPadの噂も含め、特にiPadOSをデスクトップクラスにしようという流れがあると思う。当然、現在の制約を大きく緩めるときが来ていると思う。

付録:メディアの予想

Appleに関する様々な情報を扱うメディアのうちいくつかが、WWDCで発表される可能性のある内容を予想している。予想と言っても、リーク情報をもとにしているものもあり、精度にはグラデーションがある。

以下の記事を参照して、大まかに一覧にした。

iOS 14

よりカスタマイズ可能なホーム画面

  • リスト表示オプション
    • ソート
      • 最近使った順
      • 未読の通知を優先
    • Siriの提案
  • ホーム画面ウィジェットAvocado

壁紙

  • デフォルトの壁紙がコレクションに分類される
  • ホーム画面では壁紙を単色に、あるいはブラー、あるいは暗くする
  • サードパーティが壁紙のコレクションを提供でき、それがiOSの設定に統合される

サードパーティのアプリをデフォルトに設定する機能

  • Webブラウザやメール、ミュージックプレーヤー
  • ChromeGmailのようなアプリをSafariやMailに代わってデフォルトに設定できる

AR

  • 新しいARアプリケーション(Gobi
    • 周囲の情報をARで得る

Siri

Messages

  • 送信済みのメッセージを取り消す
  • @でメンション
  • グループメッセージでメンションのみを通知する
  • グループメッセージでの入力中表示
  • メッセージを未読にする

Safari

  • 組み込みの翻訳機能で、サードパーティのアプリやサービスなしに、Webページを翻訳する
    • 翻訳機能はApp Storeなどにも拡がる
  • 翻訳はNewral Engineによってローカルで実行される

地図

  • Apple Storeとの連携
    • 地図アプリからGenius BarやTrade Inのサービスを確認できる
    • Appleの認定サービスプロバイダでも同様
  • カップルシートや子ども割引、プライベートルームを持つ施設のハイライト
  • IMAX上映を行う映画館のフィーチャー

探す

  • 誰かがスケジュールされた時刻に特定の場所に到着しなかったことの通知
    • 例えば、子どもが学校に到着しなかった、あるいはパートナーが職場に到着しなかった
  • 合わせて、設定された時刻よりも早く出発したという通知
  • ARを使って視覚的に見つけられる

Podcasts

  • Apple MusicのFor Youタブのような機能
  • Podcastの製作者が視聴者にボーナスコンテンツを提供できる

Clips

  • QRコードを読み取ったときに、ネイティブのカードUIを表示する
    • インストールされていないアプリでも、Over-The-Airパッケージとしてアプリの一部をダウンロードする

Keychain

  • 同一のパスワードを複数のサイトで使い回していることに対する警告
  • 二要素認証に使われるトークンの保存

CarPlay

  • CarPlayの壁紙のカスタマイズ

CarKey

HomeKit

  • 電灯のためのNight Shift
    • HomeKitが時刻に合わせて自動的に電灯の色温度を調節する
  • HomeKitのセキュアビデオ機能に顔の識別機能

アクセシビリティの強化

  • 聴覚を失った人のために、火災警報やサイレン、ドアのノック、ドアベル、あるいは赤ちゃんの泣き声のような、重要な音声を検知して、触覚フィードバックに変換する

パフォーマンスと安定性

そのほか

  • 新しいスタンドアローンのフィットネスアプリ(Seymour
  • AnimojiやMemojiに関する何か
  • #shotoniphoneチャレンジが写真アプリに統合される
  • Apple PayのAlipayサポート

iPadOS 14

Apple Pencil

  • 入力フィールドに手書きで入力し、テキストに変換する

Safari

  • Webサイト上でApple Pencilの入力を完全にサポート

Xcode for iPad

Final Cut Pro X for iPad

watchOS 7

文字盤

  • 文字盤の設定の共有
    • iMessageやAirDrop、そのほかの方法で共有する
  • Infographシリーズの新しい文字盤、Infograph Pro
    • タキメーターを特徴とする
  • Internationalウォッチフェイス
  • 写真の文字盤で共有アルバムをソースにする

子ども向けのApple Watch

  • 保護者のiPhoneでセットアップ/管理する仕組み
  • SchoolTime
    • 学校にいる時間に使えるアプリやコンプリケーションを管理する
  • アクティビティのカロリー消費を、動いていた時間に

睡眠トラッキング

  • 新しいSleepアプリで睡眠をトラッキングする
  • iPhoneのHealthアプリから睡眠の目標を設定
    • 睡眠時間や質を向上させるための助言も含まれる
  • コントロールセンターに睡眠モード
  • 新しいハードウェアが必要かもしれない

血中酸素飽和度

  • 血中酸素飽和度の測定
  • 新しいハードウェアが必要かもしれない

そのほか

  • アプリのアーキテクチャが、iPhoneのエクステンションベースではなくなる
  • フィットネスアプリ
  • ECG機能のアップグレード

macOS 10.16

Messages

  • 新しいMessagesアプリ
    • iOS/iPadOSからCatalystアプリとして持ち込まれる

Shortcuts

  • macOSでもShortcutsが使える

tvOS 14

Kids Mode

  • 子ども用のアカウントを作成
    • 使用できるアプリを管理

Screen Time

  • Screen TimeがtvOSにも拡張される

そのほか

  • フィットネスアプリ
  • コンテンツによりフォーカスしたApple TV+の再デザイン
  • Apple TVのオーディオの出力先としてHomePodのステレオペアをデフォルトに設定できる

HomePod

ハードウェア

再デザインされたiMac

  • これまでより細いベゼル
    • iPad Proのようなデザイン
  • 21.5インチではなく23インチに
  • ラインナップがすべてSSD
    • Fusion Driveは廃止
  • 第10世代IntelCoreプロセッサ(Comet Lake)が採用
  • AMDのNaviアーキテクチャGPU
  • Apple T2セキュリティチップがiMacとして初めて搭載

Apple TV

  • 新しいApple Remote
  • Apple A12X Bionicチップ
  • HDMI 2.1
  • 64 GBもしくは128 GBのストレージ
    • 現行モデルの2倍

AirPods Studio

  • オーバーイヤーヘッドフォン
  • 頭部や首への装着を識別
  • イコライザのカスタマイズ
  • アクティブノイズキャンセリング
  • ハイエンドのプレミアムバージョンとフィットネスにフォーカスした軽量のバージョンがあるかもしれない
  • 磁力によってパッドやヘッドバンドを交換できるかもしれない

ワイヤレス充電マット

  • 小さなワイヤレス充電マット

HomePod

  • 現行モデルの半分程度の大きさ

AirTag

  • 財布やバッグ、鍵に取り付けるトラッカー
  • 探すアプリからトラックできる
  • 空間認識に対応した超広帯域チップの技術を含むかもしれない

ARM Macへの移行

  • MacのラインナップをARMプロセッサへ移行する計画
  • A14をベースにする
    • 12コアのカスタムARMプロセッサ
      • 8つの高性能コアと4つの高効率コア
    • Intelのプロセッサを用いる現行のMacBook Airより著しく強力
    • GPUの性能やAIに関する演算性能も注目に値する向上が起きる
  • コンシューマ向けのARMチップが搭載されたMacハードウェアはまだ発表されない
    • 発売は2021年からになる
  • 開発者向けに移行のロードマップが示される
  • 何らかの開発用移行キットのようなハードウェアが提供されるかもしれない
    • PowerPCからIntelへの移行の際にはApple Developer Transition Kitがリースされた