Giới thiệu về Swift UI
“Ứng dụng tốt hơn. Ít mã hơn” , điều đó có thực sự đúng không?
Trong bài viết này, chúng ta sẽ nói về SwiftUI, một khung được Apple giới thiệu cho các nhà phát triển sử dụng vào năm 2019. Tôi muốn thực hiện mục này với trích dẫn cuộc phỏng vấn của Federighi.
Phó chủ tịch cấp cao về công nghệ phần mềm của Apple, Craig Federighi đã xây dựng mục tiêu của SwiftUI:
Có thể viết theo cách tối thiểu, rõ ràng, dễ đọc, dễ diễn đạt nhất, bạn muốn giao diện trở thành gì và để hệ thống suy luận, được rồi, tôi sẽ hoàn thành việc đó như thế nào? Nếu giao diện người dùng thay đổi, nếu trạng thái cơ bản thay đổi khiến nội dung giao diện người dùng thay đổi từ cái này thành cái kia, xử lý hoạt ảnh tự động…
Bởi vì chúng tôi không yêu cầu nhà phát triển thể hiện quá mức bản thân khi tạo giao diện ngay từ đầu, tất cả những gì có ngữ nghĩa và chúng tôi có thể suy luận tất cả các chi tiết và xây dựng giao diện phù hợp cho bạn. Vì vậy, trải nghiệm cuối cùng trở nên trôi chảy hơn rất nhiều.
Bạn có thể xem chi tiết cuộc phỏng vấn của Federighi ngay tại đây nếu muốn.
Hãy nói về lợi thế của nó.
Xem trước là lợi thế quan trọng nhất của SwiftUI. Chúng tôi có thể thấy mọi thay đổi mã với Xem trước trong thời gian thực.
Nó tiết kiệm thời gian cho các nhà phát triển bằng cách cung cấp thiết kế giao diện, Chế độ tối, Trợ năng, hỗ trợ ngôn ngữ từ phải sang trái và nhiều chức năng tự động khác, trong số các tiện ích cơ bản do SwiftUI cung cấp. Các ứng dụng được phát triển với SwiftUI sẽ chạy rất nhanh vì chúng sẽ được tích hợp nhiều tính năng, mang lại lợi thế cạnh tranh.
Ngoài ra, SwiftUI cho chúng tôi cơ hội sản xuất sản phẩm với thiết kế duy nhất cho tất cả các sản phẩm của Apple. Cụ thể hơn, tôi có thể nói rằng với SwiftUI, bạn có thể cung cấp cùng một thiết kế cho WatchOS, iPadOs, MacOS và iOS cùng một lúc.
Trong SwiftUI, ViewControllers mà chúng ta quen thuộc đã bị vô hiệu hóa hoàn toàn. Cũng không có bảng phân cảnh. Nói lời tạm biệt với tableViews mà chúng tôi sử dụng rất nhiều. Nói cách khác, SwiftUI là một thế giới khác. Chúng tôi có Chế độ xem ngay bây giờ. Bên trong đó Views , chúng ta có body. Nhưng điều này cho phép chúng tôi tạo giao diện người dùng có cấu trúc hơn và đẹp hơn nhiều.
Trong SwiftUI, các mã Swift mà chúng ta quen thuộc vẫn ở bên chúng ta.
Cho đến bây giờ, các nhà phát triển iOS chuyên nghiệp vẫn chưa sử dụng mainStoryboard, v.v. Họ đã chọn tạo giao diện người dùng bằng mã hóa. Nhưng sự lựa chọn này dường như thay đổi với SwiftUI.
Ngoại trừ những ưu điểm của SwiftUI, chúng tôi phải nói rằng cũng có những nhược điểm:
- Nó hỗ trợ iOS 13 và các phiên bản cao hơn.
- Đó là cộng đồng không được giải quyết đầy đủ.
Nội dung chỉ có thể chứa Chế độ xem. Vì lý do này, định nghĩa được hiển thị như bên dưới có thể gây ra sự cố. Trong định nghĩa này, bạn chỉ có thể nhìn thấy mục đầu tiên trên màn hình và cũng có nhiều Chế độ xem Nội dung.
Để giải quyết vấn đề này, bạn có thể sử dụng VStack hoặc HStack. Ở đây, sử dụng VStack, chúng tôi đã tập hợp tất cả Chế độ xem vào một nơi. Bạn cũng có thể xếp chồng Lượt xem bằng ZStack, nhưng chúng tôi không cần nó ở đây.
Một trong những ưu điểm tốt nhất của SwiftUI là nó cho phép chúng ta làm việc hiệu quả hơn trên các kích thước màn hình khác nhau. Chúng ta có thể đạt được điều này với UIScreen.main.bounds . Ví dụ;
Đó là tất cả những gì tôi sẽ nói trong bài viết này. Trong bài viết tiếp theo của tôi, tôi sẽ nói sâu hơn về SwiftUI.
Tôi hy vọng bạn thích bài viết này, hãy theo dõi phần còn lại của bài viết.
Nếu bạn quan tâm đến Jetpack Compose trong Android, tôi khuyên bạn nên xem bài viết của Ecem Okan .

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































