LoginSignup
4

More than 3 years have passed since last update.

SwiftUIについて、ざっと

Last updated at Posted at 2019-06-05

この記事は何?

WWDC2019で発表されたSwiftUIについて、いつか自分が勉強するときのために2019.6.5時点の情報をざっとまとめました。

SwiftUIは...

あらゆるAppleデバイス用のユーザーインターフェースを構築する方法
Xcode11に搭載される新機能
macOS10.15 Catalina 以降で使用可能
革新的で非常にシンプル
Swiftで動作するツールとAPIのセット

キーワードから探るSwiftUI

Better apps. Less code.

少ないコードで、良いアプリを
読みやすくて自然に書くことができる宣言型のSwift構文
Xcode11のデザインツールとシームレスに連携
コードとデザインを完全に同期
ダイナミックタイプ、ダークモード、ローカライズ、およびアクセシビリティの自動サポート

Declarative Syntax

宣言的な構文
「宣言的」とは、制約や定義、性質を記述することらしい...。
ユーザーインターフェイスの動作をシンプルに表現できる。
たとえば...

  1. テキストフィールド項目のリストが欲しいと書いて、
  2. 各フィールドの配置、フォント、色などを記述する

これまで以上にシンプルで読みやすいコードによって、時間とメンテナンスを節約する。

SwiftUIのコード例
import SwiftUI

struct Content: View {

    @State var model = Themes.listModel

    var body: some View {
        List(model.items, action: model.selectItem) { item in
            Image(item.image)
            VStack(alignment: .leading) {
                Text(item.title)
                Text(item.subtitle)
                    .color(.gray)
            }
        }
    }
}

宣言スタイルは、アニメーションのような複雑な概念にも適用される。
アニメーションをほぼすべてのコントロールに簡単に追加し、数行のコードですぐに使えるエフェクトのコレクションを選択できる。
実行時に、システムはスムーズに動作させるために必要なすべてのステップを処理し、アプリを安定させるために中断を処理する。

Design Tools

Xcode11に含まれる新しいデザインツール。
SwiftUIを使用して、インターフェイスをドラッグアンドドロップで簡単に作成できる。
デザインキャンバスで作業しているときは、編集したすべてのものが隣接するエディタのコードと完全に同期する。
コードを入力すると、その結果がプレビューとして即座に反映される。
プレビューに加えた変更は、コードにすぐに反映される。
Xcodeは変更を即座に再コンパイルして、実行中のバージョンのアプリに挿入する。
いつでも表示と編集ができる。

  • Drag and drop
    キャンバス上のコントロールをドラッグして、コンポーネントを配置できる。
    クリックしてインスペクタが開き、フォント、色、配置、その他のデザインオプションを選択できる。
    カーソルを使ってコントロールを簡単に並べ替えられる。
    ほとんどのビジュアルエディタはコードエディタ内でも使用できる。
    インターフェイスの一部を手動でコーディングしたい場合、インスペクタを使用して各コントロールの新しい修飾子を見つけられる。
    ライブラリからコントロールをドラッグして、デザインキャンバスまたは直接コードにドロップすることもできる。

  • Dynamic replacement
    編集したコードとライブアプリを直接、置き換えるSwiftの新機能。
    SwiftコンパイラとランタイムはXcodeに完全に組み込まれている。
    アプリは常に構築され実行される。
    デザインキャンバスは、アプリ実物を描画する。

  • Previews
    SwiftUIビューのプレビューをいくつも作成できる。
    サンプルのデータを表示できる。
    フォント、ローカライズ、ダークモードなど、表示しうるほぼすべてを設定できる。
    任意のデバイスと任意の向きでUIを表示できる。

Native All Apple Platforms

数十年に及ぶ世界で最も革新的で直感的なUI開発の経験に基づいて構築された。
SwiftUIは完全にネイティブ。
わずかなコードと対話的なデザインキャンバスで、各プラットフォームのテクノロジに直接アクセスする。

公開されているチュートリアル

一歩ずつ学べるガイダンスと詳細なリファレンス

SwiftUI Tutorials
SwiftUI Reference

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4