Ngừng tạo TUI: Vì sao các lập trình viên nên chuyển sang xây dựng giao diện native

Công nghệ21 tháng 8, 2026·5 phút đọc

Bài viết lập luận rằng các giao diện terminal (TUI) đã lỗi thời và không còn là lựa chọn tối ưu trong thời đại AI tạo sinh. Với sự hỗ trợ của các mô hình ngôn ngữ lớn, việc xây dựng ứng dụng native với giao diện đồ họa chuyên nghiệp đã trở nên dễ dàng và nhanh chóng hơn bao giờ hết, mở ra cơ hội cho mọi lập trình viên tạo ra sản phẩm chất lượng cao mà không cần chuyên môn sâu về UI/UX.

Ngừng tạo TUI: Vì sao các lập trình viên nên chuyển sang xây dựng giao diện native

Ngừng tạo TUI: Vì sao các lập trình viên nên chuyển sang xây dựng giao diện native

Trong bối cảnh các mô hình AI tạo sinh đang thay đổi cách chúng ta viết mã, một lập trình viên kỳ cựu đã đưa ra lời kêu gọi mạnh mẽ: hãy từ bỏ thói quen xây dựng các ứng dụng terminal (TUI) và chuyển sang phát triển giao diện native. Tác giả lập luận rằng nhờ có AI, việc tạo ra các ứng dụng macOS native với chất lượng cao đã trở nên dễ dàng đến mức bất kỳ ai cũng có thể làm được, và TUI chỉ còn phù hợp với một số ít trường hợp đặc thù như làm việc qua SSH.

Kỷ nguyên mới của phát triển ứng dụng native

Tác giả bài viết, một kỹ sư hệ thống lâu năm, đã dành nhiều thập kỷ chỉ làm việc với command-line và xem việc viết giao diện đồ họa là điều gì đó xa xỉ và khó khăn. Tuy nhiên, mọi thứ đã thay đổi hoàn toàn khi ông bắt đầu sử dụng các trợ lý AI như Claude và Codex để tạo ra các ứng dụng SwiftUI hoàn chỉnh.

“Tôi gần như không viết tay một dòng mã UI nào. Vì sao tôi phải làm vậy? Giống như hầu hết các giao diện người dùng, nó không phá vỡ giới hạn mới. Đó không phải là vấn đề khó khăn. Nhưng xây dựng UI tốt rất khó: loại mã này tẻ nhạt, lặp đi lặp lại, đòi hỏi độ chính xác cao và bị ràng buộc bởi kiến thức nền tảng.”

Màn hình ứng dụng MDVMàn hình ứng dụng MDV

Nhờ có AI, tác giả đã tạo ra hàng loạt ứng dụng native ấn tượng chỉ trong thời gian ngắn: một trình xem Markdown, một ứng dụng tính toán SageMath với giao diện native, một trình phát nhạc tích hợp LLM thông minh (DJ Roomba), một wiki tự động (Self Driving Wiki), một công cụ theo dõi calo, và thậm chí là một điều khiển Apple TV từ menu bar.

Ứng dụng wiki tự độngỨng dụng wiki tự động

Điều đáng chú ý là tác giả không hề có chuyên môn sâu về UI/UX — ông chỉ là một “Unix nerd” truyền thống. Nhưng với sự trợ giúp của các agent AI, ông đã tạo ra những sản phẩm có chất lượng thiết kế vượt trội hơn cả những gì ông từng mong đợi từ một UI designer chuyên nghiệp.

TUI: Di sản của thập niên 1970 không còn phù hợp

Tác giả phân tích rõ ràng sự khác biệt giữa CLI (giao diện dòng lệnh) và TUI (giao diện terminal đồ họa). Trong khi CLI vẫn có những vai trò không thể thay thế trong việc quản trị hệ thống và tự động hóa, thì TUI lại là sản phẩm của những ràng buộc công nghệ từ những năm 1970.

“Chúng ta xây dựng giao diện terminal vì chúng ta phải làm vậy, không phải vì chúng ta nên làm vậy.”

Các lập luận thường được đưa ra để bảo vệ TUI bao gồm: mật độ thông tin cao, tốc độ xử lý nhanh, hoạt động tốt qua SSH, và khả năng truy cập (accessibility). Tuy nhiên, tác giả đã bác bỏ từng lập luận này:

  • Mật độ thông tin và tốc độ: Không có gì ngăn cản bạn thiết kế một GUI với mật độ thông tin cao và hỗ trợ bàn phím tốt. Điều này đã được chứng minh qua nhiều ứng dụng native thành công.
  • Làm việc qua SSH: Trong hầu hết các trường hợp, bạn không cần UI trên production server. Bạn chỉ cần CLI và một giao diện native trên máy tính cá nhân điều khiển từ xa, giống như cách Emacs TRAMP hoạt động.
  • Khả năng truy cập: Các framework native hiện đại như SwiftUI được thiết kế với khả năng accessibility từ đầu, trong khi TUI thường gặp nhiều khó khăn với screen readers.

Ứng dụng DJ RoombaỨng dụng DJ Roomba

Lời khuyên thiết thực cho lập trình viên

Nếu bạn muốn bắt đầu xây dựng ứng dụng native với sự hỗ trợ của AI, tác giả chia sẻ một số mẹo hữu ích:

  • Sử dụng các “skill” (kỹ năng) được cộng đồng chia sẻ trên GitHub như macOS design skill, typography skill, và SwiftUI skill
  • Kích hoạt chế độ computer-use để agent có thể tự nhìn và thao tác với ứng dụng đang được xây dựng
  • Bắt đầu từ một template ứng dụng có sẵn với quy trình build tự động (Makefile-driven), tránh phải mở Xcode mỗi lần

Kết luận: Thời đại của giao diện native

Tác giả kết luận rằng ranh giới giữa “frontend” và “backend”, giữa “web” và “native” đã bị xóa nhòa bởi các agent AI. Việc xây dựng giao diện native giờ đây không còn là lĩnh vực dành riêng cho các chuyên gia UI/UX.

Theo dõi nhiệt độ nhàTheo dõi nhiệt độ nhà

“Sau nhiều thập kỷ chia phần mềm thành ‘frontend’ và ‘backend’, các agent đã hòa tan hầu hết các ranh giới đó. Bạn có thể mặc định xây dựng giao diện native cho mọi thứ, và những giao diện đó sẽ khá tốt.”

Đối với các lập trình viên Việt Nam, thông điệp này đặc biệt có ý nghĩa. Thị trường phần mềm trong nước đang phát triển mạnh mẽ, và khả năng tạo ra các ứng dụng native chất lượng cao với chi phí thấp nhờ AI sẽ mở ra nhiều cơ hội mới cho các startup và nhà phát triển độc lập. Thay vì mất hàng tháng trời để học SwiftUI hoặc phụ thuộc vào các framework web nặng nề, giờ đây bạn có thể tạo ra những sản phẩm native thực thụ chỉ trong vài ngày.

Còn với những ai vẫn còn yêu thích vẻ đẹp retro của TUI, tác giả nhắn nhủ: “Tôi không cố chê bai sở thích của bạn. Nhưng nếu bạn chưa thử biến một trong số 500 CLI nhỏ của mình thành ứng dụng native, bạn đang tự thiệt thòi đấy. Hãy thử xây dựng một giao diện native. Nó có thể sẽ thay đổi cách bạn suy nghĩ.”

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗