わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

wwdc2020 キーノートまとめ

キーノートを自分なりにまとめます

https://developer.apple.com/wwdc20/ から、WWDC2020のキーノートの要点と着目点を列挙していきます。キーノートの概要は、各ネットニュースで掲載されていますから、ここは自分の着目点とその理由を書いていきます。

COVID-19対策のため、プレゼンテーション会場に参加者がいない初めてのWWDCとなりました。WWDCのキーノートは全体に落ち着いたプレゼンテーションです。iOS登場時のような、熱狂的な雰囲気はありません。ですが、今年のキーノートは、ここ6年ほどのiOSデバイスの発展の歴史を、一度整理して、利用者の視点からシームレスで、使いたい機能を探さなくても、使いたい機能がすっと使える自然さにまとめ上げていく、次の10年を予感させる内容でした。

Apple Silicon

Apple製品全体のプロセッサを自社開発品に切り替えていく、Apple Siliconが発表されました。これまでIntelのプロセッサを使用し続けてきたMacも、iPhoneがそうであるように、Apple自社設計チップに切り替わっていきます。2年ほどを移行期間として、当面はインテルプロセッサ搭載Mac製品も出るようです。

Mac向けには、デスクトップにふさわしい消費電力と処理能力のバランスをとった新チップを設計するようです。AMD Ryzenを採用したMacが登場する可能性は、これでなくなりました。Macの中身がどうなろうが、MacがMacであることには違いがありません。利用者にとって、目に見える当面のメリットは何もないでしょう。

iPhoneのプロセッサの内部を見ると、演算処理をするプロセッサ部分は存外大きくはなく、その面積は、グラフィックのGPU、機械学習のニューラルチップ、外部と高速な情報のやり取りをするインタフェース、セキュリティ専用コア、そしてキャッシュメモリと、高速に情報をやり取りする構成要素の詰め合わせです。Apple Siliconが、ノートパソコン/デスクトップ/ハイエンドデスクトップに、どの製品から、どのようなチップを提供するのかは、興味があるところです。TSMCの7nm及び5nm、ローパワーライブラリ/ハイパフォーマンスライブラリで、ノートとデスクトップの製品分野でシングルスレッドの性能の違いを出すでしょうか。あるいはノートとデスクトップで、それぞれのローエンドとハイエンドで、性能の異なるチップを採用する、価格帯横串で違いを作るでしょうか。AMDのようにチップレットのパッケージ内高密度実装をベースに、必要な性能だけチップレットを増やす構成でしょうか、あるいはGPGPUのチップ間超高速接続のような仕組みで、パッケージを増やして全体処理能力を上げるのでしょうか。

Apple Siliconの登場で、開発者は、再ビルドでApple Silicon対応のバイナリを配布する必要があります。x86エミュレーション(ロゼッタストーン2)/iPadアプリをビルドでmacOSに移植もあります。また、Adobeのグラフィックソフトウェア、MS社のオフィスツール、Unityなど、開発やオフィスツールのネイティブ対応での協業が発表されていますから、ツールとしての問題はないでしょう。

パーソナルコンピュータ市場全体でのMacのシェアは7%程度のようです。iOSアプリなどの開発ツールを使う場合はMac以外のパーソナルコンピュータを選ぶことはありませんが、一般業務では、Macはいくつかある選択肢の1つです。iOSデバイスとのシームレスな機能などを利便性と感じて選ぶか、あるいは、もしも消費電力が小さければ、二酸化炭素排出量削減への貢献から企業として調達リストに入れるか、業務利用するMacの設定などの管理ソフトで管理費用などを考慮するかなど、いくつかの視点で選べばいいでしょう。

iOS14

豊富なiOSアプリケーションが、アプリストアに溢れています。この豊かさは、アプリ販売やアプリ内課金で収益が上げられるからです。開発者の新たなiOSへの機能の関心は、単純に新技術への好奇心に加えて、これらの収益が得られるか、収益をより大きくできるか、また新たな収益の場面が登場するかと、収益が関心の中心にあります。

iOS14では、アプリ拡張からウィジェットとAppClipsが作れるようになります。

ウィジェットは、iOS14以前からありましたが、ホーム画面に常駐できるようになります。ウィジェットの常時稼働は消費電力とメモリを消費しますが、ウィジェットのUIをシリアライズしてホーム画面アプリに渡し、ホーム画面アプリは非同期でそれを表示反映する仕組みにより、ウィジェットアプリが常に動作しなくてもよい仕組みを取り込んでいます。ちょうど、初代WatchOSが、Watch単体でアプリが実行できず、iPhoneでアプリ拡張が生成した画面イメージをWatchに転送することで、Watchでアプリが動いているかのように見せていましたが、あの仕組みを思い出させます。

AppClipsは、アプリストアからアプリをダウンロードしなくても、小さなアプリ拡張をその場で実行表示する仕組みです。Androidにある、Instant appsと同じでしょうか? 10MB以下とサイズが制約されています。例えば、買い物で1回しか使わない場合など、AppClipsで支払い画面を出し、そこで支払いを完了してもいいでしょう。継続して使うなら、アプリ本体をストアからインストールすればいいのです。AppClipsを簡単に見つけられるように、円形のバッジのような独特のQRコードのようなマーク、App Clipコード、も提供されます。

アプリをインストールしてもらう壁は、思うよりも高いものです。展示会向けにカタログ代わりのアプリケーションを提供する場合は、インストールに至る工夫が不可欠です。今は、カメラアプリがQRコードに対応しているので、ポスターにアプリストアへのリンク情報を含むQRコードを印刷してインストールを促進できます。App Clipsの優位性は、支払い処理がワンクリック、アカウント認証が組み込みやすいことで、リアル世界でのお金のやり取りが伴う、ちょっとした場面に最適に思えます。

オフライン動作する、音声とテキストの通訳ソフトが入ります。翻訳デバイスの市場を破壊してしまいそうです。

Mapは、自転車用と電気自動車用の経路検索が追加されます。電気自動車の充電スポットが表示されるなど、用途に合わせた経路上の情報が提示されます。利用可能としが、NYなど米国の都市と北京など中国の都市で、Appleにとっての中国市場の重要性が現れていました。

現行のiPhoneには、UWBでセンチメートル単位で距離がわかるU1チップが採用されていますが、これを使いiPhoneが車の鍵になります。BMWなどから、今年後半また来年にかけて対応車が登場します。午後に子供に車の利用を許す場合には、メッセンジャー経由で子供のiPhoneに許可データを送れば、子供のiPhoneでロック解除できるなど、ソフトウェア的な鍵の体験になっています。

FindMy Networkに、3rdのアクセサリがアクセスできる。3rdのApple関連機器に、FindMy Networkが解放。デバイスがどこにあるのか、iPhoneデバイスと統合されて表示される。これ、リアルデバイスのAppleへの紐付けですね。https://developer.apple.com/find-my/

HomeKitも、それ自体がオープンソース化、さらにAmazonのアレクサ対応機器など数多くのスマートホームのプラットホームとの連携、今まで対応機器が広まらない1ブランドだったのに、iPhone利用者にはユーザの接点としての統合窓口HomeKitみたいな橋頭堡を得た感じしますね。

iPadOS

検索窓に手書きで書き込むと、それがテキストデータになって入力される場面がありました。検索窓には、テキストを入力する細長いエリアがありますが、そのエリアを超えて手書き文字が書かれているのに、そのエリアに認識結果のテキストが入ります。

UIKitを使ったことがあるなら、UIの入力イベントはUIViewの矩形領域内部に限られるのを思い出すかもしれません。ですが手書きできる領域が、あの小さなテキスト入力領域だと、ものすごく不便です。その辺りにはそのテキスト入力エリアしかないのですから、その辺りに手書きすれば、そこにテキストが入るのが自然です。これをUIKitの考え方で実装するのは、ちょっとややこしく、だから手書き入力パッドを画面の別の場所に表示させて、そこで認識させたテキストが反映される、キーボード入力のペン代替みたいな、実現できる実装をします。そういう逃げをしないところが、いい感じです。

SwiftUI

AppClips、WatchOS、iOS、iPadOS、macOSと、いくつもの画面サイズにシームレスに対応していく必要が出てきます。SwiftとSwiftUIを使い始めるタイミングなのでしょう。もう、AutoLayoutでどうにかできる話では、ないようです。