Potewoのブログ

電子工作が好きな学生の書く技術系のブログです。

SwiftUIが良さそう

先日、Xcode11が正式にリリースされ、SwiftUIが使えるようになりました。実は僕はmacOSCatalinaのPublicBetaを入れていたので、Xcode11 Betaを入れてSwiftUIチュートリアルをやってみました。僕は一度iPhoneアプリも少しやっていたのですが、途中で挫折していましたが、今回のSwiftUIを触ってみて、良いと感じ、これを機会にもう一度やってみようかと思いました。具体的にどんなことが良いと感じたのか、紹介していこうと思います。

※あくまで初心者が書いた記事なので、細かいところは間違っているかもしれません。もし、そのような箇所がありましたら、コメントで教えてください。

リアルタイムで見た目とコードが反映される

SwiftUIの特徴の一つはリアルタイムでプレビューとコードが同期することだと思います。

SwiftUIでは、コードをいじるとそれがリアルタイム(多少のタイムラグはありますが)にプレビューの見た目に反映され、SwiftUIにマウスで部品を追加していっても、それに対応したコードが自動で挿入されます。

今までのストーリーボードを使ったアプリ制作では、ストーリーボードにUIを載せていき、それをコードとドラッグして紐づけるのが基本だったと思いますが、個人的に、あの紐付けが分かりにくいと思いました。見ただけではどこと紐づいているのかわからなかったり、どこかに変更を加えた時に紐付けが勝手に切れてしまったりするのが面倒だったと思います。

それが、SwiftUIではコードがそのまま見た目になるので、今までのストーリーボードの紐付けの面倒さはなくなり、かつマウスを使った簡単なUIの配置も残ったのではないかと思います。

コードが短くなる

SwiftUIの特徴としてコードが短くなるということがあります。

Appleの公式ページでも

SwiftUIは宣言型シンタックスを使用しているため、ユーザーインターフェイスの動作をシンプルに記述することができます。たとえば、テキストフィールドからなるアイテムのリストを作成すると書いてから、各フィールドの配置、フォント、色を記述するといった具合です。これにより、コードがかつてないほどシンプルで読みやすくなり、時間の節約と保守作業の負担軽減につながります。

と書かれています。

具体的には以前、僕がストーリーボードでアプリ制作をしていた時、苦労した点としてTableViewがありました。ただTableViewを表示したいだけなのにやけに長いコードを書かなければならなかった気がします。

それがSwiftUIでは

List {
    // 中身
}

このように書くだけでTableViewのようなリストを表示することができます。

とても簡単だと思います。

最後に

とりあえず、SwiftUIの利点として上のようなことをあげましたが他にも思いついたらどんどん追記していこうと思います。

最後まで読んでくださり、ありがとうございました。