Termbox, an API for text-based UI
Lastmod: 2018-05-06

Termbox 之前就在 haskell 库里面看到过, 现在又在 lua 里面看到了. 似乎各个语言中都有这个库.

字符界面的 API 感觉挺酷的, 而且在实现简单程序 demo 时也可以考虑使用字符界面而不是GUI.

看一看这个 API 是怎么设计的吧.

Viewing terminals as a table of fixed-size cells and input being a stream of structured messages.

把终端看成一个长方形数组, 要求等宽字体 (CJK 会有点问题).

先别看 termbox 是怎么设计的. 想想自己会怎么设计?

global window { width, height }
clear()
draw()
set(x, y, char)

最基本的操作就这些了. 再看 termbox 的设计.

啊, UI 的API 除了画画, 最重要的的还有 Event 这个东西, 就这么简单.

画画的功能上, 还能增加 “子窗口” 功能..

啊, 无聊.

ps

看到一个 用 termfx 的小编辑器 mle, 挺感兴趣的, 有时间可以看一下. 编辑器算是最常用的软件了, 当然会好奇里面如何设计.