The LiveView project has swept through the Elixir community like wildfire. It takes traditional web development, which focuses on individual tasks that render HTML, and flips the model on its head. Instead, LiveView lets a programmer build a data structure in memory. Then, the user renders the data as a string, and any changes to the data structure automatically trigger a render.
The end result is that the developer’s focus shifts from things that are difficult, like managing concurrency or IO, to something that programmers are good at, writing small functions to change state.
When Chris McCord - creator of Phoenix - moved from a Ruby consultancy to the Elixir community, he was looking for the kind of infrastructure that would let something like LiveView flourish. He wrote a book called Metaprogramming Elixir, and then shifted his attention to the Phoenix framework. After years of building effective infrastructure with startling scalability and reliability, he was finally ready to attack LiveView.