Xilem: Khung giao diện người dùng (UI) phản ứng mới mẻ dành cho ngôn ngữ Rust
Xilem là một kiến trúc giao diện người dùng (UI) phản ứng cấp cao dành cho ngôn ngữ lập trình Rust, lấy cảm hứng từ React, SwiftUI và Elm. Được xây dựng dựa trên nền tảng Masonry, dự án này cung cấp giải pháp để tạo ra các ứng dụng GUI biên dịch native với hiệu suất cao và trải nghiệm phát triển thuận tiện.

Xilem là một dự án thử nghiệm đầy thú vị nhằm mang lại kiến trúc giao diện người dùng (UI) phản ứng (reactive) cho cộng đồng lập trình viên Rust. Được thiết kế để giúp các nhà phát triển xây dựng các ứng dụng GUI (Giao diện người dùng đồ họa) một cách dễ dàng hơn, Xilem hoạt động song song với Masonry – một thư viện nền tảng (crate) phục vụ cho việc biên dịch giao diện native.
Xilem Badge
Xilem và Masonry: Sự kết hợp hoàn hảo
Để hiểu rõ về Xilem, chúng ta cần phân biệt nó với Masonry:
- Masonry: Đây là một thư viện nền tảng (foundational crate) dùng để xây dựng các GUI được biên dịch native trong Rust. Nó cung cấp một cây widget được duy trì (retained widget tree) và chịu trách nhiệm xử lý các sự kiện cũng như các chu kỳ cập nhật giao diện.
- Xilem: Đây là khung làm việc (framework) cấp cao, mang tính phản ứng (reactive), lấy cảm hứng từ các công nghệ phổ biến như React, SwiftUI và Elm. Xilem cho phép người dùng tạo ra một cây view (view tree) nhẹ nhàng và tự động thay đổi giao diện ứng dụng dựa trên những thay đổi của cây view này.
Xilem hiện hỗ trợ hai backend chính là backend Web và backend Masonry, mang lại sự linh hoạt cho các nhà phát triển.
CI Status
Công nghệ nền tảng
Cả Xilem và Masonry được xây dựng dựa trên các công nghệ mạnh mẽ trong hệ sinh thái Rust để đảm bảo hiệu suất và khả năng tương thích:
- winit: Dùng để tạo và quản lý cửa sổ ứng dụng.
- Vello và wgpu: Giải pháp đồ họa 2D hiệu suất cao.
- Parley và Fontique: Xử lý văn bản và phông chữ chuyên sâu.
- AccessKit: Hỗ trợ kết nối với các API trợ năng (accessibility APIs).
Lời khuyên cho người mới: Nếu bạn phân vân không biết nên chọn Xilem hay Masonry, câu trả lời thường là Xilem. Nếu mục tiêu của bạn là xây dựng một ứng dụng với sự rắc rối tối thiểu, Xilem là lựa chọn đúng đắn. Hãy nhớ rằng Xilem là một UI framework, còn Masonry là bộ công cụ dùng để xây dựng các UI framework (bao gồm cả Xilem).
Bắt đầu với Xilem
Việc cài đặt và thử nghiệm Xilem khá đơn giản. Sau khi clone repository, bạn có thể chạy các ví dụ mẫu như to_do_mvc để xem khả năng của nó:
cargo run --example to_do_mvc
Để thêm Xilem vào dự án của bạn, chỉ cần chạy lệnh:
cargo add xilem
Yêu cầu hệ thống trên Linux và BSD
Để phát triển trên các hệ điều hành dựa trên Linux hoặc BSD, bạn cần cài đặt các gói phát triển cần thiết như pkg-config, clang, wayland, libxkbcommon, libxcb, và vulkan-loader.
Ví dụ, trên Debian hoặc Ubuntu, bạn có thể cài đặt chúng bằng lệnh:
sudo apt-get install clang libwayland-dev libxkbcommon-x11-dev libvulkan-dev
Trên Fedora:
sudo dnf install clang wayland-devel libxkbcommon-x11-devel libxcb-devel vulkan-loader-devel
Cộng đồng và Giấy phép
Xilem hiện đang được phát triển tích cực và các thảo luận về kỹ thuật thường diễn ra trên kênh #xilem của Linebender Zulip. Dự án chào đón sự đóng góp từ cộng đồng thông qua các Pull Request và tuân theo Bộ quy tắc ứng xử của Rust.
Về mặt pháp lý, Xilem được cấp phép theo Giấy phép Apache phiên bản 2.0. Một số tệp tài nguyên dùng cho ví dụ (như phông chữ hoặc dữ liệu) có thể tuân theo các giấy phép riêng biệt được ghi chú cụ thể trong thư mục tương ứng.
Docs



