アップル「Swift UI」が注目される理由

文●松村太郎 @taromatsumura

2019年07月02日 09時00分

  • このエントリーをはてなブックマークに追加

 Mac ProとProDisplay XDRが登場したアップルのWWDC19。おそらく多くの一般の人が手に入れる可能性は極めて低いのですが、やはりアップルから新しいハードウェアが登場すると、会場内もストリーミングを見ている人たちも、盛り上がるものです。

 Macラインアップについて1つ触れたいのは、T2チップの存在。Mac ProにもT2チップが搭載されたことで、T2チップがないMacとして取り残されているのは、実はiMacのみとなりました。

 T2もしくはその後継となる独自チップを搭載するiMacの登場が待たれますが、A10レベルの処理能力を備えるT2の次世代版が登場するならA11やA12と同等の性能を備えて機械学習処理の特化したニューラルエンジンがついてくるはず。

 となると、そのニューラルエンジンの処理能力を活用するFace IDも利用できるようになるわけで、iMacにTrueDepthカメラの顔認証対応モデルが登場することへの期待を持っています。今年なのか来年になるのかは分かりませんが。

 さて、今回の本題はWWDCの本題とも言える開発環境についてです。今回も各OSで様々な拡張がありましたが、中でもアップルのアプリ開発そのものの変革がありうるのが、SwiftUIです。

●SwiftUIはアプリ画面デザインのコードを極度に簡単にする

 SwiftUIは、アップルがWWDC19で発表した、アプリのユーザーインターフェイスを作るためのフレームワークです。

 UIの機能を宣言する形でプログラミングができ、これまでよりも短いシンプルなコードで組み立てられます。基調講演でもリスト表示を作る際のコードの長さを比較し、半分程度の行数で同じ画面を作れる点をアピールしていました。

 いままでiPhoneアプリ画面を構成するコードは心得がなければどんな画面になるのか分かりませんでした。しかし新しいSwiftUIのコードはリストやサークルといった英単語が分かれば何が起きるのか想像がつくレベルのコードで構成されていることが分かります。

 このことは特にアプリ開発初心者にとって学びやすく、書きやすいコードに仕上がることを意味します。

 同時に、UIに関係するコードのデバッグもよりしやすくなるメリットもあります。

●まるでKeynote

 SwiftUIに対応するアプリ開発環境Xcode 11には、画面デザインをマウスで配置することができる仕組みが用意されました。

 たとえば画面領域にマウスでパーツを配置すると、左側にすぐにコードが組み上がっていきます。ライブプレビューとなっているため、コードを修正するとすぐに画面の中のパーツにも変化が加わります。

 パーツの表示にアニメーションをつけたい場合も、まるでKeynoteのトランジションを設定するような感覚。非常に直感的に、アプリ画面をデザインすることができるようになります。

 そういえば、iPhoneなどのアプリのプロトタイプに、PowerPointやKeynoteといったプレゼンテーション作成アプリが活用されてきました。それでは画面遷移などの表現が難しいということで、AdobeはXDといわれるユーザー体験設計アプリをリリースし、現在は無料化しています。

 いままで、アプリ画面のイメージを伝えるにはこうしたツールを活用してきましたが、Xcode 11を使うと、開発環境でそのままアプリのデザイン案を作ることができるようになります。

 そしてもちろん、プロトタイプとして作ったアプリの画面は、そのまま実際の処理のコードと組み合わせて活用することができます。コードを実際に書くプログラマ以外の人も、Xcodeを使ってアプリ画面を試しに作ってみる、といった作業が非常に気軽にできるようになり、そのアイデアがムダにならなくなる可能性があるのです。

 繰り返しになりますが、もちろんアプリを初めて作る初心者にとっても、UIデザインのハードルが極めて低くなる点も、重要なポイントとなります。

●1つのコードで、様々なデバイス向けのアプリを出し分けられる可能性

 さて、昨年のWWDC18で、iPadアプリをMac向けにビルドできる計画が明らかになり、WWDC19でこれに「Project Catalyst」という名前がつきました。

 簡単に言えば、処理のコードは共通化し、タッチ前提で全画面表示が基本のiPadと、マウス前提でアプリをウインドウ表示するMacで、UI部分を作り替えてアプリをビルドすることができるようにする仕組みです。

 これは昨年先行して登場していますが、よくよく紐解いてみれば、Swiftで書かれたアプリとSwiftUIを組み合わせることで、よりシンプルにProject Catalystでのアプリ制作を実現できると同時に、なにもiPadとMacの間だけでアプリのコードが共有されるわけでもなさそうだという印象を持ちました。

 その恩恵は、Apple Watchアプリで最大化するのではないか、と思いました。

 今回Apple Watchのアプリは、iPhoneアプリと分離され、新たに用意されたWatchアプリ向けApp Storeを通じて、Apple Watch単体でダウンロードすることができるようになりました。これからWatchアプリ自体がどんどん増えていって欲しい、という願いが込められているわけですが、これとSwiftUIも無関係ではなさそうです。

●Apple Watchアプリの時代が来る

 今回Apple Watch向けにiBooksのオーディオブックアプリ、ボイスメモアプリ、そして電卓が追加されました。

 そういえばボイスメモアプリは、Project Catalystと名前がつく前から、昨年iPadとMacに同じコードから作られたアプリとして追加されました。

 現地で確認するチャンスはありませんでしたが、このボイスメモアプリ、iPad・Mac向けのアプリと同じコードを、SwiftUIを使ってApple Watch向け画面を作って提供しはじめたのではないか、と思ったのです。

 もちろん小さな画面と、iPhoneやiPadに比べてパワフルさに欠けるプロセッサしかないApple Watchのことですから、全てのアプリがWatchアプリになるわけではないでしょう。しかし、いつでも手首で実行できるアプリの開拓は、これから始まるのではないでしょうか。


筆者紹介――松村太郎

 1980年生まれ。ジャーナリスト・著者。慶應義塾大学SFC研究所上席所員(訪問)。またビジネス・ブレークスルー大学で教鞭を執る。米国カリフォルニア州バークレーに拠点を移し、モバイル・ソーシャルのテクノロジーとライフスタイルについて取材活動をする傍ら、キャスタリア株式会社で、「ソーシャルラーニング」のプラットフォーム開発を行なっている。

公式ブログ TAROSITE.NET
Twitterアカウント @taromatsumura

mobileASCII.jp TOPページへ