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!")
}
}
- ↑ а б Mayo, Benjamin (3 червня 2019). Apple announces SwiftUI, a modern declarative user interface framework for Apple platforms. 9to5mac.com. Процитовано 22 січня 2024.
- ↑ SwiftUI. Apple Developer Documentation (амер.). Процитовано 10 січня 2024.
- ↑ Previews in Xcode. Previews in Xcode – Apple Developer Documentation (англ.). Архів оригіналу за 7 листопада 2023. Процитовано 7 листопада 2023.
- ↑ Swift Playgrounds. Apple Developer (англ.). Процитовано 31 січня 2024.
- ↑ Interfacing with UIKit. Apple Developer Documentation (амер.). Процитовано 31 січня 2024.
- ↑ AppKit integration. Apple Developer Documentation (амер.). Процитовано 6 жовтня 2024.
- ↑ MapKit for SwiftUI. Apple Developer Documentation (амер.). Процитовано 10 січня 2024.
- ↑ Canvas. Apple Developer Documentation (амер.). Процитовано 31 січня 2024.
- ↑ Swift Charts. Apple Developer Documentation (амер.). Процитовано 31 січня 2024.
- ↑ Meet SwiftUI for spatial computing - WWDC23 - Videos. Apple Developer (англ.). Процитовано 31 січня 2024.
- ↑ Hudson, Paul (2018). Swift Design Patterns (English) . Paul Hudson.
- Lee, Wei-Meng (2020). SwiftUI for dummies. Hoboken: Wiley. ISBN 978-1-119-65270-0.
- Cahill, Bear (2021). UI Design for iOS App Development (англ.). doi:10.1007/978-1-4842-6449-2. ISBN 978-1-4842-6448-5.
- Barker, Chris (3 квітня 2020). Learn SwiftUI: An introductory guide to creating intuitive cross-platform user interfaces using Swift 5 (англ.). Packt Publishing Ltd. ISBN 978-1-83921-087-7.