TUI가 다시 뜨는 이유: 네이티브 UI의 실패와 터미널의 귀환 (wiki.alcidesfonseca.com)
목차(7)
한줄 요약
네이티브 GUI의 분열과 Electron의 한계가 TUI 르네상스를 만들어내고 있다.
터미널 UI(TUI)가 개발 생태계의 전면에 다시 등장하고 있다. Ruby on Rails 창시자인 DHH가 공개한 리눅스 배포판 Omarchy에서 TUI를 핵심 인터페이스 중 하나로 채택한 것은 단순한 취향 문제가 아니다. 이는 현재 주요 OS의 GUI 생태계가 공통적으로 겪고 있는 구조적 문제를 반영한다.
무엇이 달라지나?
GUI 생태계 3대 플랫폼 모두 '표준' 없이 표류 중이다
Windows는 MFC, Winforms, WPF, Silverlight, WinUI, MAUI로 이어지는 GUI 프레임워크의 연속 실패를 경험해 왔다. 각 세대가 이전 세대의 공백을 메우지 못한 채 쌓여, 결과적으로 개발자는 무엇을 선택해야 할지조차 불분명한 상황에 놓였다.
Linux는 자유로운 생태계 철학 덕분에 GTK와 Qt라는 두 진영이 공존하지만, 수천 가지 하드웨어·배포판·데스크톱 환경의 조합을 감당하기 어렵다 보니 기업 입장에서 네이티브 Linux 앱 개발은 사실상 포기 상태다.
macOS는 가장 뼈아프다. 한때 전 세계 UI 교육의 기준으로 인용되던 Apple Human Interface Guidelines를 Apple 스스로가 무너뜨리고 있다. Fitts의 법칙 무시, 창 크기 조절의 어려움, 메뉴 아이콘 남발 등이 연이어 지적되면서, 디자이너와 개발자가 신뢰하던 macOS의 일관성은 빠르게 희석되고 있다.
Electron이 채운 공백, 그러나 대가가 크다
세 플랫폼 모두에서 네이티브 대안이 흔들리자 Electron이 사실상의 크로스플랫폼 표준으로 자리를 잡았다. Slack, Discord, VSCode, Cursor 등 개발자가 매일 쓰는 핵심 도구들이 Electron 기반이다. 메모리 사용량은 과거보다 개선됐다는 평가도 있지만, 더 근본적인 문제는 따로 있다. OS 수준의 키보드 워크플로 통합이 되지 않고, 메뉴바에 기능이 제대로 노출되지 않으며, 앱마다 전혀 다른 인터랙션 패턴을 강요한다. Cursor나 VSCode에서 에이전트 패널과 사이드 패널 사이를 키보드만으로 자유롭게 이동하는 것이 왜 아직도 어려운가. 이 질문이 Electron의 구조적 한계를 압축한다.
TUI가 채우는 자리
TUI는 빠르고, 자동화하기 쉽고, 운영체제를 가리지 않는다. SSH 원격 접속 환경에서도 X forwarding 없이 동작하며, 클라우드 머신이나 GPU 서버에서도 동일한 경험을 제공한다. Claude나 Codex 같은 AI 코딩 도구가 CLI/TUI 방식으로 빠르게 확산되는 것도 같은 맥락이다. 인터페이스가 OS와 싸우지 않을 때, 개발자는 비로소 작업 자체에 집중할 수 있다.
실무에서 어떤 의미인가?
개발팀 입장에서 TUI의 부상은 두 가지 실질적 변화를 의미한다.
첫째, 내부 도구 설계 기준이 바뀐다. 사내 DevOps 도구, 배포 스크립트, 모니터링 인터페이스를 굳이 Electron이나 웹앱으로 만들 이유가 점점 약해지고 있다. Rust 기반의 ratatui, Python 기반의 Textual 등 TUI 프레임워크의 완성도가 높아지면서, 적은 리소스로 일관된 경험을 줄 수 있는 TUI 도구가 실용적 선택지가 됐다.
둘째, UI 설계에 대한 기본기 재점검이 필요하다. 화려한 UI 라이브러리에 의존하기 전에, Jakob Nielsen, Don Norman 같은 고전적 HCI 원칙을 이해하고 있는지 팀 내에서 점검할 필요가 있다. 인터페이스가 단순해질수록 설계 판단의 무게는 오히려 커진다.
도입 전 체크포인트
TUI 기반 도구 도입을 검토한다면 다음 항목을 먼저 확인하는 것이 좋다.
- 대상 사용자가 CLI에 익숙한가? TUI는 학습 곡선이 낮은 편이지만, 완전 비개발자 대상이라면 재고가 필요하다.
- 원격/클라우드 환경에서의 동작이 중요한가? 이 경우 TUI의 이점이 가장 극대화된다.
- 운영체제 통합 기능(알림, 트레이 아이콘 등)이 필수인가? 그렇다면 TUI만으로는 부족하고, 네이티브 레이어와의 혼합 설계가 필요하다.
- 장기 유지보수 관점에서 의존성을 최소화하고 싶은가? TUI는 Electron 대비 의존성이 단순하고, 수명이 길다.
- 팀의 CLI 자동화 문화가 형성돼 있는가? TUI는 자동화·스크립팅과 결합할 때 효과가 배가된다.
자주 묻는 질문
Q.TUI와 CLI는 같은 건가요, 다른 건가요?
CLI(Command Line Interface)는 명령을 한 줄씩 입력하고 결과를 받는 방식이다. TUI(Terminal User Interface)는 터미널 환경 안에서 마우스 없이도 메뉴, 창, 입력 폼 같은 인터랙티브 UI를 구성한 것이다. 쉽게 말해 TUI는 CLI의 상위 개념으로, 터미널 안의 GUI처럼 동작한다. vim, htop, lazygit 같은 도구가 대표적인 TUI 사례다.
Q.TUI가 Electron보다 무조건 낫다고 볼 수 있나요?
상황에 따라 다르다. TUI는 속도, 자동화 친화성, 크로스플랫폼 일관성에서 강점이 있지만, 시각적 복잡도가 높은 UI나 비개발자 대상 도구에는 적합하지 않다. Electron의 진짜 문제는 메모리보다 OS 통합 부재와 키보드 워크플로 단절에 있다. 도구의 목적과 대상 사용자를 기준으로 선택해야 한다.
Q.TUI를 만들 때 어떤 프레임워크를 써야 하나요?
언어에 따라 선택지가 다르다. Rust 생태계에서는 ratatui가 가장 활발히 사용되고, Python에서는 Textual이 빠르게 성장하고 있다. Go 개발자라면 Bubble Tea(bubbletea)가 인기 있다. 어떤 프레임워크든 기본적인 HCI 원칙, 즉 일관성, 피드백, 단순성을 설계 단계에서 고려하지 않으면 기술 선택과 무관하게 쓰기 어려운 도구가 만들어진다.
관련 아티클
Zed 1.0 출시 — GPU 기반 코드 에디터가 VS Code 생태계를 흔들 수 있는가
트렌드VS Code, Copilot AI를 Git 커밋 공동 저자로 기본 설정 변경 — 개발팀이 알아야 할 것
트렌드클로드 코드 vs 코덱스, IT 에이전시는 어떤 AI 코딩 도구를 선택해야 하나
트렌드Uber가 4개월 만에 2026년 AI 예산을 소진한 이유 — Claude Code 도입이 남긴 교훈
트렌드Mistral Medium 3.5 등장: 코딩 에이전트가 드디어 클라우드로 올라갔다
트렌드Dirac: 비용 64% 절감하면서 8/8 완벽 정확도를 달성한 오픈소스 AI 코딩 에이전트
관련 사례
이 글의 키워드와 맞닿은 실제 개발 사례를 함께 보세요.