Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
TerminalImageViewer
Small C++ program to display images in a (modern) terminal using RGBÂ ANSI codes and unicode block graphics characters
It doesn't actually matter. You can use pointers for models, return the same pointer, and it will re-render fine. We do this for our CLI at https://www.inngest.com - especially for creating new serverless functions via a quick walkthrough.
It's actually the `tea.Msg` that causes re-renders. Here's the code: https://github.com/charmbracelet/bubbletea/blob/v0.20.0/tea.....
tea.Msg is, in Redux land, an "action" that triggers some state updates and _always_ triggers a re-render, even if nothing changes.
This is elm-like, but we have to understand the limitations of what we're working with: a terminal with no way of (nicely) updating elements in place. It's essentially an immediate-mode UI.
One of my favorite TUI frameworks. I made https://github.com/mathaou/termdbms with it. A very pleasant experience.
Loved this framework as it helped me build my ssh app idea really quickly (https://github.com/ivantsepp/ssh-slides)! In fact, it pushed me to finally learn golang haha. Would love seeing more and more ssh apps in the wild.
Lately I'm all in on LĂ–VE (https://love2d.org). No dynamic linking required, and anything it can't do I just accept as a constraint I can't change.