唐突にTUIとGUIについて解説しますわ!
GUIとは、グラフィカルユーザーインターフェースのことですわ。その名前の通りグラフィカルなUIで、お嬢様達が普段接しているUIはだいたいそれですわ!
では、TUIとはなにか。テキストユーザーインタフェースのことでございます!
CUIともよく混同されるのですが、CUIはどちらかというとコマンドを打っていろいろと作業をする形式でございまして、TUIはテキストでGUIに似たインタフェースを作成し、いろいろと操作するものになります。
ドラマとかのハッカー描写でよく見る「黒い画面(ターミナル、改造の仕方によってライトテーマで背景が白くなって特に黒くないこともあります。というか改造しまくるとそもそも透明にして背景に画像差し込むとかもできるので、実のところターミナルで操作する場合はもう少しカラフルなことが多いです)」で主に使われておりますわ!
ちなみにそもそもCUIと呼ばれている形式のほうが先にあり、GUIが出たために作られた用語…いわゆるレトロニムとなっております!
とはいえGUIのほうがやはり人間の視覚にわかりやすく、柔軟性も高いわけですが、ではなぜTUIが登場し、(エンジニアの目線で言えば)それなりにTUIを作成するためのライブラリが出てきているのか、と思われるお嬢様がたもいるでしょう。
詳しい経緯を私も知らないのですが、エンジニアになっていろいろやっておりますと、たぶんこれだろうな、という理由がいくつか思い当たります。
ターミナルとGUIの間を行き来するのが面倒くさいですとか、まあいろいろあるのですが…個人的にこれも大きいな、と思っていることが一つあります。
GUIは、作るのが、大変。
とても、大変。
…はい、そうなのです。今までいろいろこの点を解決しようといろんなプログラムが作られてきましたが、この点今でも解決しておりません。
ブラウザのサイトデザインで悩んだお嬢様は多いと思うのですが、ぶっちゃけて言うと、アレはまだUI作成をやりやすくするための努力が実ったほうです。
スタンドアロンのデスクトップアプリを作成しよう謎するともう、やばい。まじで、やばい。
そもそもOSでデスクトップアプリを表示する仕組みが違ったりとかして、それに対してエッジケース以外ではだいたい共通した見た目を再現してくれるブラウザのほうがすごいのです。
詳しく知りたい方は「GUI ライブラリ」での検索結果をご覧ください。やばいです。GUI ライブラリ 検索
これに対してTUIは割合楽です。自由度はそりゃあ少なめになりますが、結局のところ名前の通りテキストで表示されますので、昔からあるターミナル画面の仕組みにのっとってそれらしく見せれればいいという点で、結構作るのが楽なのです。
というわけで、わりとTUIで動作するプログラムもありまして、慣れない方はびっくりすることもあるとは思うのですが、慣れていればだいぶ楽だったりするのです。
このような難しさを乗り越えて作成されるのがGUIです。
だからといってPC内部の大事なデータを吹っ飛ばしたり、人をひっかけて何やら課金させようとしたりするのがいいわけではないのですが、とりあえずGUIを作成すること自体が比較して難しいということは、覚えていて損はございません。
そういうことをつらつら考えたりしましたので、唐突ですが書きました。
では読んでくださった皆様に幸ありますよう。
ではではですわー!