July 2015: GopherCon recap

Food at 6:30 pm. Please RSVP at Meetup or Google+.

News and Talks at 6:45.

Talks

GopherCon recap

slides

Command line user interfaces

Gerrit Renker surveyed building graphical-style interfaces in the terminal, covering widgets, menus, colour, and cursor handling and comparing terminal libraries across C, Node.js, and Go. He looked at the veteran ncurses (used by YaST, menuconfig, and htop), Node's high-level blessed/blessed-contrib widget library, and Go's nsf/termbox-go — a cross-platform, deliberately low-level cell-based library. A termbox demo (an SSH-accessible Tetris) showed what the low-level API can do, while gizak/termui layers blessed-style widgets on top of termbox. His conclusion was that termui looks promising but is still work in progress.

Key points:

  • CLI GUIs need widgets, colour, and cursor control.
  • Modern terminals expose richer capabilities than plain line output.
  • C: mature ncurses (since 1992) underlies installers and htop.
  • Node.js: blessed offers a high-level, DOM-like widget API.
  • Go: termbox-go is cross-platform and low-level.
  • termui builds widget abstractions on top of termbox.
  • Verdict: termui promising, but still WIP.

Gerrit Renker

presentation

News

Articles

Events