Jetpack Compose 1.13 bổ sung bố cục thích ứng và AppState
Hội nghị Thượng đỉnh Nhà phát triển Android công bố Compose 1.13 với Grid, Flexbox và Jetpack AppState nhằm thống nhất giao diện người dùng và kiến trúc trên điện thoại, thiết bị gập và máy tính để bàn.
Được dịch tự động từ bản gốc tiếng Anh.
Tại Hội nghị Thượng đỉnh Nhà phát triển Android vào ngày 4 tháng 11 năm 2026, Google đã công bố những cập nhật đáng kể cho Jetpack Compose, tập trung vào phát triển thích ứng cho hệ sinh thái đa thiết bị. Phiên bản này giới thiệu các nguyên tố bố cục mới, công cụ quản lý trạng thái kiến trúc và khả năng xử lý đầu vào được nâng cao để hỗ trợ các thiết bị từ điện thoại, thiết bị gập đến màn hình trong xe hơi và dạng thức Googlebook mới.
Điều gì đã xảy ra
Hệ sinh thái Android hiện nay bao gồm nhiều kích thước màn hình và mô hình tương tác khác nhau, khiến việc phát triển thích ứng trở thành yêu cầu cốt lõi thay vì chỉ là một tính năng tùy chọn. Để giải quyết vấn đề này, nhóm đã trình bày Jetpack Compose như tiêu chuẩn thống nhất để xây dựng giao diện người dùng, giúp các nhà phát triển rời xa hệ thống View cũ kỹ và phân mảnh. Mục tiêu là cung cấp một đích phát triển duy nhất, giảm bớt sự phức tạp khi phải duy trì các mã nguồn riêng biệt cho từng dạng thiết bị, đồng thời đảm bảo ứng dụng vẫn hoạt động mạch lạc khi cửa sổ thay đổi kích thước hoặc màn hình gập lại.
Một phần lớn của thông báo tập trung vào việc mở rộng Compose vượt ra ngoài lớp giao diện trực quan để đi sâu vào kiến trúc ứng dụng. Nhóm đã giới thiệu Jetpack AppState, hiện đang ở giai đoạn alpha, đưa hệ thống trạng thái dựa trên snapshot của Compose vào tầng dữ liệu. Điều này cho phép các nhà phát triển chia sẻ trạng thái có thể quan sát giữa các activity, dịch vụ nền, widget và App Functions. Ngoài ra, phiên bản ổn định sắp tới của Compose 1.13 bao gồm hỗ trợ tích hợp sẵn cho các bố cục thích ứng thông qua các thành phần Grid và Flexbox mới, cùng với các cải tiến trực quan như Progressive Blur (Làm mờ tiến bộ) và Formatted Text (Văn bản được định dạng).
Các hệ thống điều hướng và đầu vào cũng nhận được những nâng cấp đáng kể để xử lý các kịch bản đa thiết bị phức tạp. Jetpack Navigation 3, phiên bản 1.2, hiện cung cấp liên kết sâu an toàn kiểu (type-safe deep linking) bằng cách sử dụng Kotlin Serialization, cho phép các nhà phát triển ánh xạ trực tiếp URI sang các khóa điều hướng được định nghĩa kiểu mạnh mẽ. Về phía đầu vào, hệ thống đầu vào phân lớp của Compose giờ đây hỗ trợ trackpad, chuột và các điều khiển vật lý, cho phép tương tác liền mạch trên các thiết bị cấp độ máy tính để bàn như Googlebook. Để hỗ trợ quá trình triển khai, Google đã phát hành các kỹ năng Android cập nhật cho các agent lập trình, giúp tự động hóa việc chuyển đổi các bố cục di động gọn gàng thành trải nghiệm đa bảng điều khiển phản hồi tốt.
Cách thức hoạt động
Jetpack AppState tích hợp mô hình trạng thái phản ứng của Compose vào kiến trúc ứng dụng rộng hơn. Nó giới thiệu hai thành phần chính: Transform và StateStore. Transform cho phép các nhà phát triển suy ra trạng thái phản ứng từ các đầu vào State và Flow hiện có bằng cách theo dõi đọc tự động và luồng điều khiển Kotlin tiêu chuẩn. Điều này loại bỏ nhu cầu về các mẫu mã phức tạp khi kết hợp nhiều nguồn dữ liệu. StateStore đóng vai trò như một container được đánh chỉ mục chứa trạng thái có thể quan sát, làm cho nó dễ truy cập từ các phần khác nhau của ứng dụng, bao gồm cả dịch vụ nền và widget. Nó cũng hỗ trợ lưu trữ tùy chọn thông qua DataStore, đảm bảo tính nhất quán của trạng thái ngay cả khi ứng dụng không ở tiền cảnh.
Để thích ứng bố cục, Compose 1.13 giới thiệu các thành phần Grid và Flexbox gốc. Các nguyên tố này cho phép giao diện tái cấu trúc nội dung một cách động dựa trên không gian màn hình khả dụng, thay vì chỉ đơn thuần kéo giãn các phần tử. Khi kết hợp với các API WindowManager, những thành phần này cho phép ứng dụng chuyển đổi mượt mà giữa chế độ xem một bảng điều khiển trên di động và bố cục nhiều bảng điều khiển trên máy tính để bàn hoặc máy tính bảng. Việc triển khai BasicTextField mới sử dụng kiến trúc điều khiển bằng bộ đệm và TextFieldState để quản lý chỉnh sửa văn bản. Thiết kế lại này giải quyết các điều kiện tranh chấp của Bộ soạn thảo phương thức nhập (IME) và hỗ trợ định dạng văn bản phong phú, cung cấp trải nghiệm chỉnh sửa đáng tin cậy hơn trên các thiết bị có phương thức nhập khác nhau.
Chi tiết chính
- Phiên bản ổn định Compose 1.13 bao gồm các bố cục Grid và Flexbox tích hợp sẵn, Progressive Blur và hỗ trợ Formatted Text.
- Jetpack AppState (alpha) giới thiệu Transform để suy ra trạng thái phản ứng và StateStore để chia sẻ trạng thái giữa các activity và dịch vụ.
- Jetpack Navigation 3 (phiên bản 1.2) thêm liên kết sâu an toàn kiểu sử dụng Kotlin Serialization và tạo ngăn xếp quay lại tổng hợp.
- BasicTextField đã được viết lại với kiến trúc điều khiển bằng bộ đệm để loại bỏ các điều kiện tranh chấp IME và hỗ trợ văn bản phong phú.
- Các kỹ năng Android mới cho agent lập trình bao gồm Adaptive, hiệu suất Compose, di chuyển từ XML sang Compose và kỹ năng Ink.
- Xử lý đầu vào giờ đây mở rộng sang trackpad, chuột và các điều khiển vật lý, hỗ trợ tương tác cấp độ máy tính để bàn trên các thiết bị như Googlebook.
Tại sao điều này quan trọng
Đối với các kỹ sư phần mềm xây dựng ứng dụng Android, những cập nhật này giảm thiểu sự phức tạp khi hỗ trợ phần cứng đa dạng. Trước đây, việc thích ứng ứng dụng cho thiết bị gập hoặc máy tính bảng thường đòi hỏi điều chỉnh bố cục thủ công và logic quản lý trạng thái mong manh. Với các thành phần Grid và Flexbox gốc, các nhà phát triển có thể xác định bố cục phản hồi một cách khai báo, giảm lượng mã tùy biến cần thiết để xử lý thay đổi kích thước cửa sổ. Điều này dẫn đến các mã nguồn dễ bảo trì hơn và ít lỗi hiển thị hơn khi người dùng chuyển đổi giữa các thiết bị.
Việc giới thiệu Jetpack AppState giải quyết một điểm đau phổ biến trong phát triển Android quy mô lớn: đồng bộ hóa trạng thái. Bằng cách đưa hệ thống snapshot của Compose lên tầng kiến trúc, các đội ngũ có thể đảm bảo rằng trạng thái giao diện người dùng vẫn nhất quán giữa các điểm vào khác nhau, chẳng hạn như widget hoặc dịch vụ nền. Điều này đơn giản hóa luồng dữ liệu và giảm nguy cơ mất trạng thái trong quá trình thay đổi cấu hình hoặc chết tiến trình. Hơn nữa, hỗ trợ đầu vào được nâng cao và điều hướng an toàn kiểu làm cho việc xây dựng trải nghiệm thực sự cấp độ máy tính để bàn trên các dạng thiết bị mới nổi như Googlebook trở nên khả thi mà không cần phải tái sáng tạo các mô hình tương tác cơ bản.
Những gì bạn có thể làm
- Cập nhật các phụ thuộc dự án của bạn để chuẩn bị cho phiên bản ổn định Compose 1.13 và thử nghiệm các bố cục Grid và Flexbox mới.
- Khám phá thư viện alpha Jetpack AppState để tái cấu trúc các đường ống trạng thái phức tạp, sử dụng Transform để suy ra trạng thái từ Flows.
- Di chuyển sang Jetpack Navigation 3 phiên bản 1.2 để triển khai liên kết sâu an toàn kiểu sử dụng Kotlin Serialization cho điều hướng mạnh mẽ hơn.
- Kiểm tra khả năng xử lý đầu vào của ứng dụng với trackpad và chuột để đảm bảo các trạng thái hover và vòng đời con trỏ hoạt động đúng trên màn hình lớn hơn.
- Sử dụng kỹ năng Android Adaptive mới trong Android Studio hoặc thông qua Android CLI để giúp tái cấu trúc các bố cục hiện có thành thiết kế đa bảng điều khiển.
- Xem các phiên bản theo yêu cầu từ Hội nghị Thượng đỉnh Nhà phát triển Android, đặc biệt là những phiên bản về profiling Perfetto và tracing recomposition, để tối ưu hóa hiệu suất.



