[[!meta title="Yak-shaving to a UI framework"]] [[!meta copyright="Copyright © 2021 Erik Anderson"]] [[!inline pages="internal(2021/info/ui-nav)" raw="yes"]] # Yak-shaving to a UI framework Erik Anderson [[!inline pages="internal(2021/info/ui-schedule)" raw="yes"]] [[!table header="no" class="speaker-details" data=""" Name pronunciation: | ERR-ick ANN-dur-sun Pronouns: | he/him Homepage: | Preferred contact info: | """]] Tui.el is a textual User Interface (UI) framework for Emacs Lisp modeled after the popular JavaScript 'React' framework. This package implements React Component API's with the goal of simplifying development of interactive UI's for all Emacs users- regardless of their prior experience with React or web programming. Components provide a useful functional unit for constructing complex interfaces declaratively and also eliminate much of the burden associated with updating textual content as application state changes. This talk will cover use of the tui.el API and its operation in a textual environment by implementing some basic UI's. # Discussion - I'm trying the run your demos of tui... it seems that (add-to-list 'load-path "~/usrc/tui.el/") is not enough, I have to either add the subdirectories by hand or to run a standard function - whose name I don't know - to add the subdirs... - hey, I'm trying to run your demos of tui... I had to add the subdirectories to the load-path manually to make (require 'tui-tic-tac-toe) work. my notes are here: https://0x0.st/-7dV.txt - tui.el is very exciting, should open up a new era of more advanced UI in Emacs - seems like we can get some really cool emacs ui going in combination with svg.el - combine with the magit approach to menus (transient etc) and something very nice is coming! - I think anything you can show in a buffer should work with this, so images, text, whatever. - tui.el is just too cool: I am going to try it for sure :D # Outline - 5-10 minutes: - Problem space: UI implementation complexity. - API introduction: Displaying content, Components. - Visual taste of dashboards and applications built with tui. [[!inline pages="internal(2021/captions/ui)" raw="yes"]] [[!inline pages="internal(2021/info/ui-nav)" raw="yes"]]