Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
SwiftUIとは - わかりやすく解説 Weblio辞書
[go: Go Back, main page]

SwiftUIとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > SwiftUIの意味・解説 

SwiftUI

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/06 17:05 UTC 版)

SwiftUIとは、Appleが開発した、アプリケーショングラフィカルユーザインタフェース (GUI) を構築するための、宣言的UIフレームワークである。WWDC 2019で発表され[1]Xcode 11以降で利用可能となった。

概要

Swiftを利用して、すべてのAppleプラットフォームデバイス向けのアプリを単一のコードベースで開発できることを目的として開発された。SwiftUIが登場する前は、macOS向けにはCocoa/AppKitを、そしてiOSなどのモバイルプラットフォーム向けにはCocoa Touch/UIKitを使い分けなければならなかった。画面設計(UIデザイン)には、GUI部品の生成・配置や画面遷移をObjective-CやSwiftのようなプログラミング言語によってコードベースで記述する原始的な方法のほかに、Interface BuilderやStoryboardといった専用のツールを使うこともできたが[2]、前者は外観のプレビューができずコード量も増えるため生産性に難があり、後者は管理すべきファイルの種類や数が増えて再利用性や移植性が低下する、といった問題を抱えていた。Interface Builderが自動生成するレイアウト管理ファイルはXML形式だが、プログラマが直接編集するのには向いておらず、複数人で共同開発する際のコンフリクト解消が難しいという問題もあった[3]

SwiftUIの動作環境をサポートするオペレーティングシステムは、macOS Catalina 10.15以降、iOS/iPadOS/tvOS 13.0以降、watchOS 6.0以降、tvOS 17.0およびvisionOSである[4]。またMac Catalystを利用してmacOS上で動作するiPad向けアプリを開発する際にSwiftUIを使用することもできる。

宣言型シンタックスにより、ユーザインタフェースの動作をシンプルに記述することができる[5]。相対的なレイアウト方式を採用しており、またすべてのデバイスで自動的に各ウィジェットのデザインが変更されるため、同一のコードで他のプラットフォームに移植することが容易になる。

SwiftUIがカバーしきれない、プラットフォームごとに細やかなカスタマイズが必要な部分は、適宜プラットフォームのネイティブUI部品やフレームワークを組み合わせるといった相互運用も可能である[6]

Swift PlaygroundsもSwiftUIに対応している[7]

各プラットフォームのバージョン26以降では、標準でLiquid Glassに対応する。また開発者はカスタムViewを1行でLiquid Glassに対応させることが可能。

サンプルコード

Hello, World

以下はSwiftUIで単純なテキストラベルを表示するだけのViewを記述するプログラムである(Hello world)。ViewはSwiftUIにおいてUIの一部を表現するためのプロトコル英語版である[8]。実際のアプリケーションとして動作させるには、ホスティングコードが必要となる。

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

プレビュー用のPreviewProviderプロトコルを採用した構造体を別途定義しておくことで、Xcode上または実機で実際の表示結果を確認しながらコーディングすることもできるようになる[9]

#Preview {
    ContentView()
}

macOS Big Sur 11.0以降、iOS/iPadOS/tvOS 14.0以降、watchOS 7.0以降では、共通のライフサイクル管理用プロトコルとしてAppが導入され、コードベースの統一がさらに進んだ[10]

import SwiftUI

@main
struct HelloWorldApp: App {
    var body: some Scene {
        WindowGroup {
            Text("Hello, World!")
            //ContentView()
        }
    }
}

互換性

SwiftUIとUIKit/AppKitには双方に互換性があり、SwiftUIではUIKit/AppKitによるコンポネートをViewとして扱うことができる。また基本的な標準フレームワークはSwiftUI標準でViewとして用意されている。

WidgetKitのように、フレームワーク自体がSwiftUIで作成されたものもある。

脚注

関連項目




英和和英テキスト翻訳

英語⇒日本語日本語⇒英語
  •  SwiftUIのページへのリンク

辞書ショートカット

すべての辞書の索引

「SwiftUI」の関連用語

SwiftUIのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SwiftUIのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSwiftUI (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2026 GRAS Group, Inc.RSS