▲GN⁺ 2024-08-12 | parent | ★ favorite | on: 현대적인 TUI Framework 구축에서 배운 것들(textualize.io)Hacker News 의견 TUI 개발자는 유니코드와 국제 문자 및 이모지 처리를 별도의 프로젝트로 다루게 됨 rivo/tview와 rivo/uniseg 패키지에서 동일한 문제를 겪음 각 TUI 라이브러리 유지 관리자는 고유한 해결책을 개발함 문자 너비가 표준화되지 않아 터미널이 복잡함 OP는 유니코드 9만 지원함 (현재 유니코드 버전은 15.1) 결국 사용자는 특정 이모지나 국제 문자가 제대로 렌더링되지 않는다고 불평할 것임 Textual이 React를 모방하려는 점이 불만임 React는 인기 있는 프레임워크이지만, 사용자 인터페이스를 만드는 좋은 방법은 아님 기본적인 반응형 디자인은 잘 알려진 방법임 CSS를 사용하는 것은 과도한 것 같음 React 모델은 이미 CSS의 개념을 많이 깨뜨림 CSS를 사용하지 않아도 된다면 괜찮음 Textual을 사용해 본 결과, CSS를 사용해야 함 좋은 표준 컴포넌트가 없어서 직접 만들어야 함 Python 클래스가 아닌 외부 스타일 시트를 사용함 이러한 이유로 Textual은 아직 나에게 맞지 않음 Python에서는 하나의 명확한 방법이 있어야 함 React를 너무 밀접하게 모방하여 JavaScript 커뮤니티의 단점을 반영함 이 TUI는 예쁘지만 실제로 사용할 상황이 떠오르지 않음 최소한의 기능에 만족하거나 바로 GUI를 사용함 YouTube 링크에서 셀 강조 표시가 가능한 테이블을 보여줌 TUI에서 왜 필요한지 이해되지 않음 결국 제대로 된 GUI가 필요할 것임 kitty는 더 많은 기능을 제공함 YouTube 링크 Notcurses 소프트웨어 엔지니어가 TUI에 왜 그렇게 관심을 가지는지 이해되지 않음 좋은 명령줄 프로그램을 좋아하지만 TUI는 매력적이지 않음 Monodraw는 MacOS 전용이지만 다른 플랫폼에도 좋은 대안이 있음 ascii-draw "덮어쓰기, 지우지 않기"는 과거 게임 개발 방식임 DirectX 이전에는 프레임 버퍼에 직접 쓰고 변경된 부분만 다시 그렸음 터미널에서 커서 위치를 확인하여 유니코드 버전을 추정하는 방법이 있음 터미널이 이모지를 예측할 수 없게 렌더링함 문자열 너비를 결정할 때마다 이 방법을 사용할 수 있음 wcwidth에 짜증이 나서 이 방법을 사용한 적이 있음 여러 TUI 라이브러리를 평가한 결과, FTXUI가 가장 사용하기 쉽고 신뢰할 수 있었음 FTXUI 키보드와 마우스를 지원하는 대화형 대시보드를 만드는 데 유용함
Hacker News 의견
TUI 개발자는 유니코드와 국제 문자 및 이모지 처리를 별도의 프로젝트로 다루게 됨
Textual이 React를 모방하려는 점이 불만임
Textual을 사용해 본 결과, CSS를 사용해야 함
이 TUI는 예쁘지만 실제로 사용할 상황이 떠오르지 않음
kitty는 더 많은 기능을 제공함
소프트웨어 엔지니어가 TUI에 왜 그렇게 관심을 가지는지 이해되지 않음
Monodraw는 MacOS 전용이지만 다른 플랫폼에도 좋은 대안이 있음
"덮어쓰기, 지우지 않기"는 과거 게임 개발 방식임
터미널에서 커서 위치를 확인하여 유니코드 버전을 추정하는 방법이 있음
여러 TUI 라이브러리를 평가한 결과, FTXUI가 가장 사용하기 쉽고 신뢰할 수 있었음