Gần đây, Apple có trình làng phiên bản mới nhất của Swift, đó là Swift UI, là một framework được Apple thiết kế để giúp các nhà phát triển xây dựng nên các ứng dụng tốt hơn với ít mã hơn.

Mặc dù storyboards và XIBs đã phục vụ rất tốt cho các lập trình viên iOS, tuy nhiên chúng khá lộn xộn, khó kiểm soát nguồn và không thể di chuyển giữa code với giao diện khi chỉ dựa vào outlets hay action.

Và giờ thì Swift UI có thể làm được tất cả những điều đó:

Có một cấu trúc UI được khai báo để xác định vị trí và hoạt động của đối tượng đó. Khi mã nguồn thay đổi, bản xem trước trên thiết bị mô phỏng sẽ cập nhật ngay lập tức


import SwiftUI

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

struct ContentView_Preview: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

và ngược lại, người dùng có thể tuỳ chỉnh trực tiếp trong bản xem trước và mã nguồn cũng được thay đổi theo.


struct ContentView: View {
    var body: some View {
        Text("Turtle Rock")
    }
}

Một khác biệt nữa trong Swift UI, đó là chúng ta có thể sử dụng các modules đồ hoạ để thả các đoạn mã, thêm các dòng khi nó mở rộng. Các menu kéo xuống làm cho việc thay đổi tham số đơn giản hơn cho lập trình viên.

Bất kỳ ràng buộc nào trong Swift như outlets hay action thì giờ đều được kiểm soát ngay tại thời điểm biên dịch, do đó, không còn rủi ro về việc UI bị lỗi bất ngờ khi chạy.

Mặc dù Swift UI sử dụng các controls từ UIKit hay AppKit nhưng hệ thống UI đó sẽ nằm phía dưới nền, mà chúng ta không cần quan tâm trực tiếp đến chúng nữa, Swift UI cũng được tích hợp với các API khác, như ARKit.

Các bổ sung mới từ Swift UI có thể được sử dụng trên toàn bộ nền tảng của Apple, bao gồm Apple TV và Apple Watch.

An image showing an app built using SwiftUI running on the Mac, iPhone, and Apple Watch.

Đôi nét về Swift UI để thấy rằng Apple đang rất cố gắng để gửi đi thông điệp mà họ muốn truyền tải kể từ khi Swift ra mắt:

 

"Mọi người đều có thể viết code"

 

Điều này bắt đầu từ Swift, mở rộng sang Swift Playgrounds và giờ đây thành một hệ thống giao diện người dùng hoàn toàn mới. 

Cảm ơn các bạn đã theo dõi bài viết này, các bạn có thể tìm hiểu nhiều hơn các bài viết về iOS tại blog của Techmaster, và các khóa học được xây dựng đáp ứng dựa trên xu thế công nghệ năm 2019

Techmaster có khóa học iOS Swift, React Native, Flutter ngắn hạn và dài hạn đảm bảo chất lượng học viên.