CUIのアプリケーションと言えば基本はCLIで、白黒なものが多いでしょう。Linuxのインストーラーであったり、MySQLのパスワード入力などがGUIっぽい画面ですごいと思わされることもありますが、それはほんの一握りでしかありません。 しかしblessedを使えばGUIアプリケーション並のUIが作れるようになります。ぜひ試してみましょう!

blessedの使い方

CUIアプリケーションながら、画像じゃないと伝わらないのが面白いです。

この画面を作るためのコードは次のようになります。

var blessed = require('blessed');

// Create a screen object.
var screen = blessed.screen({
  autoPadding: true,
  smartCSR: true
});

screen.title = 'my window title';

// Create a box perfectly centered horizontally and vertically.
var box = blessed.box({
  top: 'center',
  left: 'center',
  width: '50%',
  height: '50%',
  content: 'Hello {bold}world{/bold}!',
  tags: true,
  border: {
    type: 'line'
  },
  style: {
    fg: 'white',
    bg: 'magenta',
    border: {
      fg: '#f0f0f0'
    },
    hover: {
      bg: 'green'
    }
  }
});

// Append our box to the screen.
screen.append(box);

screen.render();

クリックやフォーカスイベントで内容を変更することもできます。

アラート。

時計風に。ちゃんと時間が更新されます。

アートを描くこともできます。

アートは実に多様です。

blessedを使うと、CUI向けのアプリケーションながらリッチなUIを実現できるようになります。コンソールを使ったジェネレータ系ソフトウェアで使ってみると面白そうです。

blessedはnode/JavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

chjj/blessed