6月に開かれたWWDC19において、アプリ開発者の間で最も重要な発表だとされたのが「SwiftUI」と呼ばれるユーザーインターフェイスデザインのためのフレームワークだ。SwiftUIの詳しい説明をしていく前に、1つの可能性として「SwiftUIの登場で今後何が変わるのか?」という具体的なヒントを、WWDC19の基調講演から振り返ってみよう。
SwiftUIとProject Catalyst、Apple Arcadeの関係
昨年のWWDC18ではまだ名前が与えられていなかったものの、iPadアプリをMac向けにビルドして利用できる技術が発表された。今年のWWDC19で「Project Catalyst」という名前が明かされた。
Project Catalystでは、iPadアプリのコードを用いてアプリ画面のカスタマイズをすればMacアプリを作り出せる。その結果として、macOS Mojaveに新たにホーム、ニュース、株価、ボイスメモの各アプリが収録された。Apple TVアプリや、新しい人やデバイスをトラッキングするFind Myのアプリも、同様の手法で作られたとみてよいだろう。
ここでポイントとなっているのは、データの処理などを行う1つのコードから、複数のデバイスに最適化されたUIを持つアプリを作り出せるということだ。その技術的背景こそ、WWDC19で発表されたSwiftUIで実現できる新しいアプリ開発の考え方だ。
iPadとMacのアプリコードの共有にはProject Catalystという名前が与えられたが、これもマーケティングへの理由が大きいのではないか、と考えられる。
本連載で触れた通り、AppleはMacとiPadの環境をできるだけ揃えたうえで、基本的なコンピューティングのiPadへの移行を促しつつ、iPadでできることをMacが内包しながら、Macならではのユーザー体験を提供しようというコンピューティングの再編を目論んでいる。
しかし、SwiftUIはProject Catalystの対象となるMacとiPadだけでなく、iPhone、Apple TV、Apple Watchも含むアプリについても、コードを共有して異なるユーザーインターフェイスデザインを用意し、各プラットホーム向けのアプリとしてリリースするフレームワーク、と理解してよいだろう。
Project CatalystとともにSwiftUIの恩恵を受けることになるのが、ゲームのサブスクリプションサービス「Apple Arcade」のタイトルだ。
さすがにApple Watch向けは用意されないが、Apple Arcadeのアプリ群はiPhone、iPad、Apple TV、そしてMacでのプレイが可能になる。おそらく、SwiftUIを活用したアプリ開発によって、より開発者の負担を減らしながらマルチプラットホームへの対応を実現しているとみられる。
watchOS 6、Apple Watch用の新アプリに注目
個人的に、SwiftUIで最も恩恵を受けるのは、アプリ開発の初心者とApple Watchだとみている。開発が大幅に効率化できることがその原因だが、昨年のmacOS Mojaveに収録されたアプリのように、今年のwatchOS 6に収録されるアプリからも、SwiftUIの恩恵を見つけることができる。
watchOS 6には新たに、オーディオブックの読み上げに対応するApple Books、ボイスメモ、そして電卓の3つのアプリが登場した。このうち、ボイスメモと電卓は、すでにiPhoneやiPadにも存在しているアプリだ。
Appleに確認することはできなかったが、これらのアプリは、iPhoneやiPad向けのアプリとコードは同じで、SwiftUIを用いてApple Watch用のUIを用意し、Watchアプリとして仕立てたものではないか、と推測している。つまり、ゼロからコードを書かずに新アプリを収録したのではないか、とにらんでいる。
アプリの画面をマウスでデザインする
SwiftUIは、Swiftで書かれたアプリに対してユーザーインターフェイスを作ることができるフレームワーク、と説明した。プログラミング言語として宣言型となり、読めばすぐにどんな画面のデザインを作っているコードなのかが分かる簡単さがもたらされた。そんな特徴を持つ新しい世代のデザインのためのプログラミング環境だ。
SwiftUIがサポートされたXcode 11では、まったく新しいアプリ画面のデザイン方法が用意された。それは、まるでプレゼンソフトでスライドを作るように、マウスでパーツを配置しながらアプリ画面をデザインするツールだ。
画面遷移やオブジェクト表示のアニメーションなどが設定できる点も、まるでKeynoteのような振る舞いといえる。当然、マウスでパーツを配置すればSwiftUIのコードが組み上がっていき、コードを書き換えて微調整すれば、すぐにそのプレビュー画面に反映される仕組みとなった。
このツールは、iPhone、iPad、Apple Watch、Apple TV、Macのそれぞれのデザインに適用できる仕組みで、初心者にとってはより直感的かつ学びやすいUI設計環境となり、すべての開発者にとってUIまわりのデバッグをより効率的に行えるようになる。
Xcodeやアプリデザインの裾野が拡大する
いままで、アプリの画面のサンプルを作る際には、PowerPiointやKeynoteなどのスライド作成アプリを用いることが多かった。
また、ユーザー体験全体を管理したいというニーズをかなえるため、AdobeはAdobe XDという体験デザインのソフトを無料で公開し、素早いプロトタイピングを行う環境にいち早く取り組んだ。
しかし、Xcode 11はエンジニアでなくても、より実物に近いアプリのUIデザインをマウスだけで作り上げることができる。つまり、Xcodeが非エンジニアにとってのプロトタイピングツールとして使われるようになるかもしれない、ということだ。
前述の通り、マウスで組み立てた画面デザインは、作ったそばからコードとして組み上がっていく。そのため、コードをそのままアプリ開発者に渡せば、データ処理と画面デザインを分業で組み合わせて、1つのアプリを作ることもできるだろう。
SwiftUIの登場は、アプリ開発者、非開発者にとって、効率性の飛躍的な向上や不可能を可能にするなど、大きなインパクトが与えられる可能性を秘める。しかし、発展途上であることもまた事実だ。アプリに必要なUIのすべてがSwiftUIに用意されているわけではないし、より個性的なアプリを構成するUIデザインは、引き続き、高いノウハウを要するデザイナーやエンジニアのスキルであり続けるだろう。
著者プロフィール
松村太郎
1980年生まれのジャーナリスト・著者。慶應義塾大学政策・メディア研究科修士課程修了。慶應義塾大学SFC研究所上席所員(訪問)、キャスタリア株式会社取締役研究責任者、ビジネス・ブレークスルー大学講師。近著に「LinkedInスタートブック」(日経BP刊)、「スマートフォン新時代」(NTT出版刊)、「ソーシャルラーニング入門」(日経BP刊)など。Twitterアカウントは「@taromatsumura」。