CUI の長所・短所

何かアプリを作る際に、CUI が良いか、GUIが良いか、と考えることがよくある。

GUI があるのが後発だが、今でも CUI のアプリは作られているし、一長一短あるみたい。

個人的に思う CUI の長所短所を考えてみる。

CUI のよいところ

開発が楽

開発者目線になってしまうけど、これは本当に本当で、GUIアプリを作ろうとすると、アプリの本質とは全く関係のない部分(GUIのレイアウトとか、設計)で

  • 他のアプリと組み合わせやすい(stdin, stdout, stderr という統一された口がある!)

CUI の悪いところ

  • 複数の情報を同時に見ることが難しい
  • 連続的な情報を見るのが難しい(物が動いていく過程など)

CUI の工夫

上に書いた悪いところを補うような工夫もけっこうある

通常、CUIの出力は下に追加していく形だが、 \r などを使うと今の行に上書きといったことができるので 画面が更新されているように見せる ことも可能。

よくあるのが、プログレスバー

もっと無茶すると、ncurses とか TUI のようになる ターミナル上で動いているけど、ここまで来るともはや GUI