SwiftUI — це декларативна структура для побудови інтерфейсів користувача для iOS, iPadOS, watchOS, tvOS, visionOS та macOS, розроблена компанією Apple Inc. для мови програмування Swift.

Огляд SwiftUI є декларативним, на відміну від імперативного синтаксису, який використовується в інших структурах розробки Apple, таких як UIKit і AppKit. SwiftUI дозволяє 2D-креслення, анімацію, обробку подій, віджети та зв'язування даних. SwiftUI автоматично синхронізує перегляди інтерфейсу користувача та дані.

SwiftUI інтегрується з іншими технологіями Apple, такими як Xcode та Swift Playgrounds, щоб забезпечити попередній перегляд у реальному часі під час редагування разом із підтримкою налагодження та інших функцій розробки.

SwiftUI забезпечує взаємодію з представленнями UIKit і AppKit через протоколи UIViewRepresentable і NSViewRepresentable відповідно.

історія SwiftUI було анонсовано на Всесвітній конференції розробників компанії Apple (WWDC) 3 червня 2019 року та додано в iOS 13 і macOS Catalina.

Під час WWDC 2020 і циклу випуску iOS 14 Apple додала підтримку карт із переглядом Map з інтерфейсом на основі Apple Maps через MapKit. MapKit дозволяє додавати анотації до карти та супутникові зображення.

Під час WWDC 2021 і циклу випуску iOS 15 Apple додала елемент Canvas, додавши підтримку миттєвого режиму малювання та ефективного 2D-малювання.

Під час WWDC 2022 і циклу випуску iOS 16 Apple випустила Swift Charts, структуру для створення настроюваних і доступних діаграм.

Під час WWDC 2023 Apple анонсувала Apple Vision Pro, і підтримку пристрою було додано до SwiftUI, а також нові види для вмісту AR, такі як RealityView та ImmersiveSpace.

Приклади Нижче наведено приклад простої програми Hello World . Атрибут визначає точку входу в програму. Стандартною практикою у SwiftUI є розділення структури програми та представлень на різні структури відповідно до архітектурного шаблону Model–View–ViewModel (MVVM). [ самвидав джерело? ]import SwiftUI

@main struct AnApp: App { var body: some Scene { WindowGroup { ContentView()

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

Список літератури

Примітки

Посилання

SwiftUI в Apple Developer

Подальше читання