SwiftUI の紹介

Dec 10 2022
「より良いアプリ。コードが少ない。」
「より良いアプリ。少ないコード」、それは本当ですか?この記事では、2019 年に Apple によって開発者向けに導入されたフレームワークである SwiftUI について説明します。

「より良いアプリ。少ないコード」、それは本当ですか?

この記事では、2019 年に Apple が開発者向けに導入したフレームワークである SwiftUI について説明します。Federighi のインタビューの引用でエントリーしたいと思います。

Apple のソフトウェア エンジニアリング担当上級副社長である Craig Federighi は、SwiftUI の目標について次のように説明しています。

最も最小限で、明確で、読みやすく、表現可能な方法で、インターフェースをどのようにしたいかを記述し、システムに推測させることができます。UIが変わったら、下の状態が変わって、UIの内容があれからこれに変わったら、アニメーションを自動で処理して……

そもそもインターフェースを作成するときに開発者が自分自身を過度に表現する必要がないため、そこにあるのはセマンティクスだけであり、すべての詳細を推測して適切なインターフェースを構築することができます. そのため、経験は非常に流動的になります。

必要に応じて、ここでフェデリギのインタビューの詳細にアクセスできます.

その利点について話しましょう。

プレビューは、SwiftUI の最も重要な利点です。プレビューですべてのコード変更をリアルタイムで確認できます。

SwiftUI が提供する基本的な便利さの中で、インターフェース設計、ダークモード、アクセシビリティ、右から左への言語サポート、その他多くの自動機能を提供することで、開発者の時間を節約します。SwiftUI で開発されたアプリケーションは、多くの機能が組み込まれているため非常に高速に動作し、競争上の優位性を提供します。

また、SwiftUI は、すべての Apple 製品を単一のデザインで製品化する機会を与えてくれます。具体的に言うと、SwiftUIならWatchOS、iPadO、MacOS、iOSに同時に同じデザインを提供できると言えます。

SwiftUI では、慣れ親しんだ ViewControllers は完全に無効になっています。ストーリーボードもありません。よく使う tableView に別れを告げます。つまり、SwiftUI は別世界です。現在、ビューがあります。そのViews の中にbody があります。しかし、これにより、より構造化された、より優れたユーザー インターフェイスを作成できます。

SwiftUI では、私たちが使い慣れた Swift コードが引き続き使用されます。

プロの iOS 開発者は、これまで mainStoryboard などを使用していませんでした。彼らは、コーディングで UI を作成することを選択しました。しかし、この選択はSwiftUIで変わるようです。

SwiftUI の利点を除いて、欠点もあると言わざるを得ません。

  • iOS 13以降のバージョンに対応しています。
  • そのコミュニティは完全には定着していません。

ボディにはビューのみを含めることができます。このため、以下のような定義が問題となる場合があります。この定義では、画面の最初の項目のみが表示され、複数のコンテンツ ビューがあります。

この問題を解決するには、VStack または HStack を使用できます。ここでは、VStack を使用して、すべてのビューを 1 か所に集めました。ZStack を使用してビューをスタックすることもできますが、ここでは必要ありませんでした。

SwiftUI の最大の利点の 1 つは、さまざまな画面サイズでより効率的に作業できることです。これはUIScreen.main.boundsで実現できます。例えば;

この記事でお話しするのはこれだけです。次回の記事では、SwiftUI についてさらに詳しく説明します。

記事が気に入っていただければ幸いです。残りの記事もお楽しみに。

Android の Jetpack Compose に興味がある場合は、Ecem Okanの記事を確認することをお勧めします。