summaryrefslogtreecommitdiffstats
path: root/2021/talks/ui.md
diff options
context:
space:
mode:
Diffstat (limited to '2021/talks/ui.md')
-rw-r--r--2021/talks/ui.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/2021/talks/ui.md b/2021/talks/ui.md
new file mode 100644
index 00000000..01ed2b26
--- /dev/null
+++ b/2021/talks/ui.md
@@ -0,0 +1,44 @@
+[[!meta title=""Yak-shaving to a UI framework" (/"Help! I accidentally yak-shaved my way to writing a UI framework because overlays were slow")"]]
+[[!meta copyright="Copyright © 2021 Erik Anderson"]]
+[[!inline pages="internal(2021/info/ui-nav)" raw="yes"]]
+
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# "Yak-shaving to a UI framework" (/"Help! I accidentally yak-shaved my way to writing a UI framework because overlays were slow")
+Erik Anderson
+
+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.
+
+
+
+# Outline
+
+- 5-10 minutes:
+ - Problem space: UI implementation complexity.
+ - API introduction: Displaying content, Components.
+ - Visual taste of dashboards and applications built with tui.
+<!--- 20 minutes:
+ - (same as the above- less some visual tour, plus:)
+ - Introducing **state** to your UI.
+ - Demonstration via development of a trivial web comic reader.
+- 40 minutes:
+ - (same as the above, plus:)
+ - Demonstration of developer helpers/utility functions for:
+ - Explanation of the reconciliation algorithm.
+ - More Emacsisms: Implementing a comic dashboard component.
+--->
+
+
+[[!inline pages="internal(2021/info/ui-schedule)" raw="yes"]]
+
+[[!inline pages="internal(2021/info/ui-nav)" raw="yes"]]