Từ khi bắt đầu Vibe Coding, mỗi khi cần công cụ CLI/TUI, tôi đều xây dựng chúng bằng Rust vì lý do hiệu năng. Mặc dù lúc đó tôi hầu như không biết gì về Rust! Tuy nhiên, về khả năng diễn giải và chỉnh sửa AI, các công cụ như Textual của Python hay Ink của JavaScript có cú pháp trực quan và tiện lợi, nhưng tôi luôn gặp rắc rối với các phụ thuộc thời gian chạy và chi phí hiệu năng. Vì vậy, đối với Rust, mặc dù ratatui có hệ sinh thái tốt và cung cấp một số hỗ trợ AI, tôi cảm thấy nó không có cấu trúc gốc AI (dễ hiểu). Do đó, tôi đã tạo ra hai thứ. 1. tui.builders - Một trình soạn thảo thiết kế trực quan giao diện người dùng terminal trong trình duyệt và xuất mã Rust. Tôi xây dựng nó với mục tiêu đạt được khả năng sử dụng tương tự như Figma. tui.builders Khi bạn kéo một widget và thiết lập các thuộc tính của nó trong Inspector, mã sẽ được tạo ra theo tỷ lệ 1:1: - Inspector: width=30, padding=2, border=rounded - Mã: .w(30).p(2).border(Border::Rounded) Nhờ vậy, bạn có thể dễ dàng tạo các công cụ TUI bằng cách xây dựng chúng trên web bằng trình chỉnh sửa như Figma, xuất chúng ngay lập tức và chỉnh sửa chúng cùng với AI. 2. SuperLightTUI - Đây là thư viện TUI bằng Rust được thiết kế cho việc ánh xạ 1:1 này. CSS flexbox + Tailwind Vì nó sử dụng phương pháp lớp tiện ích, nếu bạn có kinh nghiệm phát triển web, bạn có thể thiết lập bố cục mà không cần học thêm bất kỳ kiến thức riêng biệt nào. Ví dụ, bạn có thể viết mã với cấu trúc sau. slt::run(|ui| { ui.bordered(Border::Rounded).p(2).gap(1).col(|ui| { ui.text("hello").bold().fg(Color::Cyan); if ui.button("click").clicked { count += 1; } }); }); Một closure duy nhất định nghĩa toàn bộ ứng dụng. Nó được hiển thị chỉ với ba dòng mã, không cần cấu trúc App, vòng lặp sự kiện hoặc triển khai trait. Tôi đã tích hợp nhiều yếu tố mà tôi cho là cần thiết, chẳng hạn như hiển thị chế độ tức thời và hơn 50 widget (biểu đồ, bảng, hình ảnh, widget AI, v.v.). Tất nhiên, tôi vẫn chưa hoàn toàn hài lòng với thư viện trực quan hóa và đang thực hiện các chỉnh sửa chi tiết, nhưng tôi hy vọng điều này sẽ hữu ích cho những người muốn duy trì hiệu suất TUI của Rust trong khi vẫn giữ được tốc độ phát triển. Mọi phản hồi đều được hoan nghênh. - tui.builders: tui.builders - GitHub: github.com/subinium/SuperLight... -
Bài viết này được dịch máy
Xem bản gốc
Telegram
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận
Chia sẻ





