2024 July 31 by Dustin Getz - https://twitter.com/dustingetz
Electric is a new way to build rich web products with Clojure that simply have too much interactivity, realtime streaming, and too rich network connections to be able to write all the frontend/backend network plumbing by hand. If this is your first time seeing Electric, the tutorial is a good place to start.
Much has changed since our last progress update. Early adopters have been running Electric v2 in production since last summer, to build sophisticated interactive web products such as a Notion-inspired marketing tool, a visual studio IDE for industrial robotics, database apps and of course AI-native product experiments.
And with their support last year we worked out the kinks: we have stable hot code reloading, fast incremental builds, faster sync performance than React-based dataloader frameworks, and dealt with the dreaded “Too Much Recursion” error when your Electric program got too large. (Did you know Chrome’s JS parser crashes on javascript programs with 250 levels of closure nesting?)
With Electric v2, we demonstrated that we weren’t crazy, this thing is commercially viable in real apps. But it also had growing pains. v2’s electric lambdas in particular had a couple annoying rules that had to be learned, which has historically been a big sticking point for many people.
Electric v3 is a rewrite of the network runtime, which removes technical debt and tightens down the language’s semantics in order to fix and resolve all of our biggest issues preventing Electric from delivering a bulletproof experience that scales to the most aggressive, high performance user experiences.
(We’ll be sharing much more detail about this in coming weeks!)