【スウィフトユーアイ】

SwiftUI とは?

💡 「こう見せたい」と書くだけで画面ができる、Appleの魔法のUI
📌 このページのポイント
命令的UI vs 宣言的UI(SwiftUI) 命令的UI(UIKit) let label = UILabel() label.text = "Hello" label.font = .bold(20) label.textColor = .blue view.addSubview(label) // 手順を1つずつ指示する 「作って→設定して→配置する」 How(どうやるか)を記述 VS 宣言的UI(SwiftUI) Text("Hello") .font(.bold(20)) .foregroundColor(.blue) // 完成形を宣言するだけ コード量が大幅に削減! 「こう見せたい」を書くだけ What(何を表示するか)を記述
命令的UI(UIKit)と宣言的UI(SwiftUI)のコード概念比較
ひよこ ひよこ

宣言的UIってどういう意味?普通のUIと何が違うの?

ペンギン先生 ペンギン先生

従来の命令的UIは「まずボタンを作って、位置をここにして、色を青にして…」と手順を1つずつ指示するスタイルなんだ。宣言的UIは「青いボタンがここにある状態」と完成形を書くだけ。あとはフレームワークが勝手に作ってくれるよ

ひよこ ひよこ

それって楽なの?

ペンギン先生 ペンギン先生

すごく楽だよ。たとえばリストを表示したいとき、UIKitだとTableViewのデリゲートやデータソースをたくさん書く必要があったけど、SwiftUIならList{'{'} ... {'}'}と数行で済むんだ。コード量が劇的に減るよ

ひよこ ひよこ

ライブプレビューってどういう仕組み?

ペンギン先生 ペンギン先生

Xcodeの右側にプレビュー画面が表示されて、コードを書き換えるとリアルタイムで見た目が更新されるんだ。いちいちビルドしてシミュレータで確認する手間が省けるから、UIの試行錯誤が高速にできるよ

ひよこ ひよこ

iPhoneアプリだけじゃなくてMacアプリも作れるの?

ペンギン先生 ペンギン先生

そうだよ。iOS・macOS・watchOS・tvOS、さらにはvisionOS(Apple Vision Pro)にも対応しているんだ。プラットフォームごとの微調整は必要だけど、基本的な構造は共通で書けるのが大きな魅力だね

ひよこ ひよこ

じゃあもうUIKitは使わなくていいの?

ペンギン先生 ペンギン先生

新規プロジェクトならSwiftUIがおすすめだけど、UIKitの方が細かい制御ができる場面もまだあるよ。特にカスタムアニメーションや複雑なレイアウトはUIKitの方が得意な場合もある。実務では両方を組み合わせて使うことも多いから、UIKitの知識も持っておくと強いエンジニアになれるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SwiftUI」って出てきたら「Appleの宣言的UIフレームワークで、見た目を宣言するだけで画面が作れるもの」と思えればだいたいOK!
📖 おまけ:英語の意味
「SwiftUI」 = Swift ユーアイ
💬 Swift言語 + UI(User Interface)の組み合わせだよ。2019年のWWDCで発表されて、Apple開発の世界に大きな変革をもたらしたんだ
← 用語集にもどる