SwiftUI

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SwiftUI
Типпрограмний каркас і віджетний інструментарійd
РозробникApple
Операційна системаIOS, IPadOS, macOS, TvOS, Watch OS і visionOSd
Мова програмуванняSwift

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

Огляд

[ред. | ред. код]

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

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

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

історія

[ред. | ред. код]

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

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

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

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

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

Приклади

[ред. | ред. код]

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

import SwiftUI

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

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

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

[ред. | ред. код]
  1. а б Mayo, Benjamin (3 червня 2019). Apple announces SwiftUI, a modern declarative user interface framework for Apple platforms. 9to5mac.com. Процитовано 22 січня 2024.
  2. SwiftUI. Apple Developer Documentation (амер.). Процитовано 10 січня 2024.
  3. Previews in Xcode. Previews in Xcode – Apple Developer Documentation (англ.). Архів оригіналу за 7 листопада 2023. Процитовано 7 листопада 2023.
  4. Swift Playgrounds. Apple Developer (англ.). Процитовано 31 січня 2024.
  5. Interfacing with UIKit. Apple Developer Documentation (амер.). Процитовано 31 січня 2024.
  6. AppKit integration. Apple Developer Documentation (амер.). Процитовано 6 жовтня 2024.
  7. MapKit for SwiftUI. Apple Developer Documentation (амер.). Процитовано 10 січня 2024.
  8. Canvas. Apple Developer Documentation (амер.). Процитовано 31 січня 2024.
  9. Swift Charts. Apple Developer Documentation (амер.). Процитовано 31 січня 2024.
  10. Meet SwiftUI for spatial computing - WWDC23 - Videos. Apple Developer (англ.). Процитовано 31 січня 2024.
  11. Hudson, Paul (2018). Swift Design Patterns (English) . Paul Hudson.

Примітки

[ред. | ред. код]

Посилання

[ред. | ред. код]

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

[ред. | ред. код]