blessed – CUIながらリッチなインタフェースを実現しよう
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のオープンソース・ソフトウェアです。