Swift

SwiftUI App Scene และ View ใช้สร้าง app ได้ทั้งแอปแล้ว

ในงาน wwdc 2020 ได้ประกาศว่า SwiftUI สามารถนำมาสร้าง App ทั้ง app โดยไม่ต้องพึ่งพา framework อื่นๆ ได้แล้ว ซึ่งแต่เดิมตอนเปิดตัวในปี 2019 นั้น swiftUI ยังต้องพึ่งพา framework อื่นๆ เช่น UIKit, AppKit ในการสร้าง control บางอย่างเช่น tabview เป็นต้น

แต่ในปีนี้ 2020 เราสามารถสร้าง app ทั้ง app โดยใช้ swiftUI framework อย่างเดียวได้ โดยทางทีมพัฒนาได้อธิบายว่า จะมีส่วนประกอบ คือ App Scene และ View ที่นำมาประกอบกันเป็น app ได้

SwiftUI App Scene และ View

View : ชิ้นส่วนของ User interface เช่น button, text รวมถึง container ด้วย เป็นชิ้นส่วนชิ้นเล็กๆ ที่จะนำมาประกอบกัน จนกลายเป็นส่วนติดต่อผู้ใช้งาน

Scene : เป็น container ให้กับ view ซึ่ง scene ต่างๆนี้ ระบบจะเป็นตัวพิจารณาเองว่า ในแต่ละ platform จะแสดงหน้าตาออกมาได้อย่างไร ทางทีมพัฒนาได้สร้าง built-in scene สำเร็จรูปมาให้เราใช้บางส่วน เช่น WindowGroup, DocumentGroup, Setting เป็นต้น

App : เป็นส่วนที่คลุม Scene และ view ทั้งหมด ถือเป็นจุดตั้งต้นของ App

ความสัมพันธ์ของ App scene และ View

App scene และ view เป็น subset กัน โดยที่ App สามารถมีหลายๆ scene และ scene ก็สามารถมีหลายๆ scene หรือมีหลายๆ view อยู่ข้างในได้ ซึ่งทาง apple ก็ทำแผนผังมาให้ดูได้ดีดังภาพด้านล่าง

ภาพจาก video ในงาน wwdc 2020

ตัวอย่าง Code

ตัวอย่าง code ด้านล่าง แสดง App ,scene view ใน swiftUI block

@main struct MyBookApp: App {
    var body: some Scene {
        WindowGroup {
            TabView {
                ComputerBookView()
                ArtBookView()
                ComicBookView()
            }
        }
    }
}

MyBookApp เป็นส่วนของ App

WindowGroup เป็น scene

TabView เป็น View ที่มี ComputerBookView, ArtBookView,ComicBookView ซ้อนอยู่

Reference and other link

https://developer.apple.com/documentation/swiftui/app-structure-and-behavior

Some Keyword ใน SwiftUI คืออะไร และใช้เพื่ออะไร

Udemy – Online Programming course

Home

ภาพประกอบ ภาพโดย William Iven จาก Pixabay

You may also like