Swift 6.3: Ổn Định Android SDK, Mở Rộng Tương Tác Với C và Nhiều Tính Năng Mới
Phiên bản Swift 6.3 tiếp tục thúc đẩy câu chuyện đa nền tảng của ngôn ngữ này bằng cách chính thức hỗ trợ Android, cải thiện đáng kể khả năng tương tác với ngôn ngữ C thông qua thuộc tính mới @c, và mở rộng hỗ trợ lập trình nhúng. Phiên bản này cũng củng cố hệ sinh thái với hướng dẫn hệ thống xây dựng thống nhất và trao quyền kiểm soát hiệu suất chi tiết cho các nhà phát triển.

Swift 6.3 tiếp tục câu chuyện đa nền tảng của mình bằng cách chính thức hỗ trợ Android, cải thiện đáng kể khả năng tương tác với ngôn ngữ lập trình C thông qua thuộc tính mới @c, và mở rộng hỗ trợ lập trình nhúng. Phiên bản này cũng củng cố hệ sinh thái với hướng dẫn hệ thống xây dựng thống nhất, mang lại cho các nhà phát triển nhiều quyền kiểm soát hiệu suất chi tiết hơn.
Tương tác Nâng cao với Ngôn ngữ C
Để mở rộng khả năng tương tác với ngôn ngữ C, Swift 6.3 giới thiệu hai thuộc tính mới là @c và @implementation. Một hàm Swift được đánh dấu bằng @c sẽ tự động tạo ra một khai báo tương ứng trong tệp tiêu đề C/C++ được tạo ra, cho phép gọi nó từ mã C/C++.
Nếu bạn muốn cung cấp một triển khai Swift cho một khai báo C hiện có, bạn có thể kết hợp @c với @implementation. Trong trường hợp này, trình biên dịch sẽ đảm bảo rằng khai báo C đã tồn tại.
Bộ chọn Module và Kiểm soát Tối ưu hóa
Swift 6.3 cũng giới thiệu "bộ chọn module" (module selectors), cho phép nhà phát triển phân biệt rõ ràng khi gọi hàm khi cùng một ký hiệu tồn tại trong các module khác nhau. Điều này giúp dễ dàng tham chiếu trực tiếp đến triển khai mong muốn.
Về mặt ngôn ngữ, phiên bản này còn bổ sung khai báo weak let, giải quyết một giới hạn lâu đời liên quan đến các lớp và đóng (closures) sử dụng tham chiếu yếu trong các ngữ cảnh song song. Trước đây, từ khóa weak chỉ có thể được sử dụng với tham chiếu đối tượng (dùng weak var), khiến các tham chiếu này có thể thay đổi và không an toàn khi gửi đi (sendable). weak let cho phép bắt giữ một ký hiệu không phải tham chiếu, bất biến bên trong một closure một cách an toàn cho tính song song.
Ngoài ra, các mở rộng ngôn ngữ mới cung cấp kiểm soát chi tiết hơn đối với các tối ưu hóa của trình biên dịch, bao gồm các triển khai chuyên biệt cho API tổng quát bằng @specialize, và việc buộc in-line phương thức bằng @inline(always).
Ổn định SDK cho Android
Như đã đề cập, Swift 6.3 chính thức ổn định SDK cho Android, trước đây chỉ có sẵn dưới dạng bản xem trước trong các bản dựng đêm. SDK này được thiết kế để giúp các nhà phát triển chuyển đổi các gói Swift của mình để hỗ trợ việc xây dựng trên nền tảng Android.
Với SDK này, các nhà phát triển có thể bắt đầu phát triển ứng dụng Android gốc bằng Swift, cập nhật các gói Swift để hỗ trợ xây dựng cho Android, và sử dụng Swift Java và Swift Java JNI Core để tích hợp mã Swift vào các ứng dụng Android hiện tại được viết bằng Kotlin/Java.
Tiến bộ của Embedded Swift
Embedded Swift đã đạt được những tiến bộ đáng kể, hướng tới mô hình liên kết thống nhất cho Embedded Swift và Swift thông thường. Điều này bao gồm cải thiện các tiện ích gỡ lỗi, cung cấp nhiều quyền kiểm soát hơn đối với việc liên kết bằng các thuộc tính @section và @used, và thêm hỗ trợ cho I/O được ánh xạ bộ nhớ (memory-mapped I/O) với Swift SMMIO.



