- Công cụ dạng trình biên tập tương tự Figma cho phép thiết kế trực quan UI của ứng dụng chạy trên terminal, cung cấp giao diện kéo thả
- Hỗ trợ hơn 20 thành phần TUI và bộ máy bố cục tương tự CSS, cho phép sắp xếp nhiều thành phần như Box, Button, Table với bản xem trước ANSI theo thời gian thực
- Cung cấp 8 chủ đề màu sắc và tính năng lưu/tải dự án, có thể chia sẻ giữa các nhóm bằng tệp JSON
.tui
- Trong tương lai sẽ hỗ trợ xuất mã sang 6 framework như Ink, BubbleTea, Blessed, Textual, OpenTUI, Tview (hiện chưa hoạt động do vẫn ở giai đoạn alpha)
- Có thể chạy trên macOS, Windows, Docker và được phát hành mã nguồn mở
Tổng quan
- TUIStudio là công cụ cho phép thiết kế trực quan giao diện người dùng dạng văn bản (TUI) dành cho ứng dụng terminal
- Người dùng có thể đặt các thành phần trên canvas trực quan và điều chỉnh thuộc tính theo thời gian thực mà không cần viết mã
- Cung cấp môi trường biên tập tương tự Figma
Tính năng chính
- Visual Canvas: sắp xếp thành phần bằng kéo thả và xem kết quả qua bản xem trước ANSI theo thời gian thực
- Hơn 20 thành phần: bao gồm Screen, Box, Button, TextInput, Table, List, Tree, Tabs, Modal, Spinner, ProgressBar...
- Bộ máy bố cục: hỗ trợ các chế độ Absolute, Flexbox, Grid, và cho phép điều khiển thuộc tính tương tự CSS
- 8 chủ đề màu sắc: cung cấp Dracula, Nord, Solarized, Monokai, Gruvbox, Tokyo Night, Nightfox, Sonokai...
- Lưu/tải dự án: lưu dưới dạng tệp JSON
.tui để hỗ trợ tính di động và cộng tác
Xuất mã (Export)
- Dự kiến hỗ trợ 6 framework: Ink(TypeScript), BubbleTea(Go), Blessed(JavaScript), Textual(Python), OpenTUI(TypeScript), Tview(Go)
- Có thể chuyển đổi một UI đã thiết kế sang mã cho nhiều framework
- Hiện đang ở giai đoạn alpha nên tính năng xuất mã chưa hoạt động
Nền tảng được hỗ trợ
- Có thể chạy trên macOS, Windows, Docker
- Với macOS, nếu bị chặn chạy do cảnh báo bảo mật Gatekeeper, cần thực hiện quy trình “nhấp chuột phải → mở → Open Anyway”
- Trên Windows sẽ hiển thị cảnh báo SmartScreen và có thể chạy bằng cách chọn “More info → Run anyway”
- Trên Linux có thể cài đặt mà không có ràng buộc đặc biệt (
dpkg -i hoặc nhấp đúp vào tệp)
Giấy phép và truy cập
- Hiện ở giai đoạn truy cập sớm (early access), các tính năng biên tập cốt lõi được cung cấp miễn phí
- Trong tương lai, phiên bản Pro dự kiến bổ sung các tính năng trả phí như tính năng nhóm, đồng bộ đám mây, hỗ trợ ưu tiên
- Có thể lưu cục bộ và chia sẻ qua Git commit mà không cần tài khoản hay kết nối đám mây
Bắt đầu
- Cung cấp ứng dụng native cho macOS chạy trên Apple Silicon (M1~M4)
- Có thể tải về và chạy ngay mà không cần cài đặt
- Đồng thời cũng cung cấp phiên bản cho Windows và Docker
1 bình luận
Ý kiến trên Hacker News
Sẽ tốt hơn nếu video demo trên trang chính có phát/tạm dừng và thanh điều khiển
để có thể nhảy ngay tới đoạn mình muốn
Video thực tế ở đây
Ngoài ra cũng tò mò không biết khi thay đổi kích thước terminal có tùy chọn ghim các phần tử sang trái/phải hay không, hay là khi thu hẹp cửa sổ thì văn bản sẽ tự xuống dòng hoặc bị đẩy ra ngoài màn hình
Tôi không nghĩ các UI này là giao diện dựa trên văn bản
Việc biểu diễn khái niệm theo tỷ lệ 1:1 trong các ô ký tự không có nghĩa là nó không phải GUI
Bản chất của UX mới là điều quan trọng, và TUI được tạo ra để tối ưu hiệu quả và sức mạnh (ví dụ: lazygit)
Nhưng nếu thêm tab, nút bấm, checkbox có thể nhấp bằng chuột thì về cơ bản là đang áp dụng UX của GUI, nên nó chỉ là TUI trông giống GUI mà thôi
Xem bài viết Turbo Vision trên wiki
Bất kỳ giao diện nào cũng có thể hiệu quả hoặc kém hiệu quả
Lý do mọi người thích TUI là vì khả năng truy cập qua SSH và sự gọn gàng
GUI thì dựa trên đồ họa được điều khiển ở mức pixel
Chuột và TUI xuất hiện trước GUI, và giờ chúng đang quay trở lại vì những lý do thực dụng
Việc có thể xuất sang nhiều framework TUI là bằng chứng cho điều đó
Tôi không nghĩ cần phải quá cứng nhắc trong việc phân biệt về mặt triết học/ngôn ngữ
Điều thú vị là có một mô thức trong đó công cụ phát triển chậm hơn vấn đề từ 5~10 năm
Độ phức tạp trong vận hành đã tồn tại từ trước, nhưng vì nó phân tán giữa nhiều chủ thể nhỏ nên thị trường cho các giải pháp có cấu trúc hình thành khá muộn
Đây không phải ngõ cụt mà là một tín hiệu — khi công cụ đầu tiên phù hợp với quy trình làm việc thực tế xuất hiện, nó có thể tạo ra đòn bẩy rất lớn
Tôi không muốn TUI trông như GUI độ phân giải thấp
Sức hấp dẫn của TUI nằm ở việc bỏ đi sự phức tạp để theo đuổi thiết kế gọn nhẹ, lấy văn bản làm trung tâm
Nếu đã có chuột thì tôi nghĩ nên tận dụng nó để tăng tính dễ khám phá (discoverability)
Rất khó để biểu đạt thông tin hay tương tác phức tạp, và cũng khó đoán ra cách kết hợp chúng
Ý tưởng thì thú vị, nhưng hiện tại “tính năng xuất mã không hoạt động”
Tức là vẫn chưa ở trạng thái thực sự có thể tạo TUI
Chỉ là nó vẫn chưa đạt tới mức mà họ đang nhắm tới
Bỏ qua những lời chê bai thì tôi nghĩ đây là một ý tưởng tuyệt vời
Nó gợi lại nỗi hoài niệm thời Borland. Tôi mong chờ xem nó sẽ phát triển thế nào
“Thái độ chỉ nhấn mạnh mặt tích cực” đôi khi lại phản tác dụng
Đúng như phần Readme đã viết, trông nó như ‘vibe-coded trash’
Tôi không hiểu vì sao cái này lại lên được trang nhất
Có thể làm ra cả thứ tuyệt vời lẫn thứ tệ hại bằng AI
Sự phản cảm mang tính ý thức hệ với AI thực ra là quan điểm của thiểu số hơn nhiều người nghĩ
Chỉ nhìn ấn tượng đầu tiên từ website là đã cảm thấy dự án này mang hơi hướng ‘vibe-coded’ rồi
Dạo này các website kiểu này đều có phong cách thị giác rất giống nhau
Hiệu ứng động quá nhiều, và đặc biệt các website genAI còn làm điều này nặng hơn
Tính năng sinh mã còn chưa hoạt động, nên tôi không hiểu vì sao phải dùng cái này
Chẳng phải đó chính là cốt lõi của ứng dụng này sao
Đó là sự kết hợp giữa thẩm mỹ hoài cổ và một kiểu ‘văn hóa chuyên gia’ xoay quanh sự thành thạo dòng lệnh
Tôi ước gì trên trang chính có nhiều ảnh chụp màn hình của thành quả hơn nhiều