SwiftUIは発表されて1年以上経過し、シンプルなUI作成方法で知られているので、今回試してみました。

SwiftUIの新規プロジェクトを作成する

今までの新規プロジェクトの作成手順とほぼ同じく、ユーザーインターフェースで「SwiftUI」を選ぶだけでできます。

SwiftUIプロジェクトの構成

プロジェクトを開くと、ディフォルトのContentView.swiftファイルがあります。これは最初の画面として表示されるもので、HelloWorldが表示されています。

  • ContentView.swiftにて、ソースコードでUIの作成ができる
  • キャンバスにて、ドラッグ&ドロップでUIの構築ができる
  • インスペクタペインにて、いろんな設定ができる

SwiftUIのUI部品の名前はstoryboard時代と少し変わっています。
例えば、文字列を表示する場合、SwiftUIでは Text を使用します。
面白いのは、習慣でサーチバーに「Label」を入力したら、検索結果に「Text」もきちんと表示されました。

SwiftUIでリストを作ってみる

今回は、簡単なリストを作ってみました。
使ったUI部品は

  • List、UIKit の UITableView に相当する
  • HStack、UIKit の UIStackView に相当し、ビューを横にレイアウトする
  • Image、UIKit の UIImageView に相当する
  • Text、UIKit の UILabel に相当する

以下のように、10行くらいのコードで、簡単なリストが作成できました。

ソースコードも読みやすいため、リストのアイテムを構造体に作成して利用することも可能です。

まとめ

SwiftUI のメリット

  • 宣言型のSwift構文なので、変更があれば storyboard のようなXML 形式より分かりやすい
  • ビルドしなくても、動的なUIのプレビューが確認できる
  • 非常に少ないソースコードでUI画面が作成できる

SwiftUI のデメリット

  • 成熟していないフレームワークなので、UIKit の全ての機能が SwiftUI 化していない
  • iOS13以降でないと使えない

今回SwiftUIを試してみて、従来のソースコードの画面開発より簡単にiOSアプリがつくれるのが分かりました。
依存OSの関係で、SwiftUI案件での利用はまだ時間がかかりますが、今のうちにSwiftUIを勉強しておくと良いのではないでしょうか。



ギャップロを運営しているアップフロンティア株式会社では、一緒に働いてくれる仲間を随時、募集しています。 興味がある!一緒に働いてみたい!という方は下記よりご応募お待ちしております。
採用情報をみる