[ANN]: Sauron 0.49 is the most stable release of sauron web framework yet
This release has fixed several long standing bugs related to diffing on keyed elements.
Under the hood, sauron uses mt-dom crate. The diffing algorithm in mt-dom has been extensively overhauled to work on all edge-case while allowing a much faster traversal for the generated patches.
This includes the use TreePath as opposed to using usize or u32 for traversing the target element to be patched in the dom. This is a new innovation that I have come up with, which isn't used anywhere. The concept is very simple, yet it makes the code more robust and more performant than what's commonly used in all other implementation involving virtual DOM.
The new diffing algorithm has been replaced with a new one which extensively use TreePath to keep track of the path traversal of the DOM for the generated patches. The code is more straightforward and intuitive, thus easy to maintain.
The goal of sauron remains to be able for you to write web applications as cleanly as possible, with very minimal code. This holds true in comparison to the other web framework in the rust ecosystem.
Sauron has not changed very much for the last 20 version of the crate, which means it is nearing for a 1.0 release.
Future plans:
- I'd been wanting to push sauron to it's limit by writing a fast web-based text editor with it.
- Revisit sauron-native to apply sauron code architecture in writing a truly cross-platform truly-native user interface.
I invite you to take a look at sauron web framework to cleanly write web applications without sacrificing performance.