fulcro-rad
fulcro-rad copied to clipboard
Improve hot reload during development
When a project gets large it can be very slow to reload the entire project when the model changes. Ideally the attribute model and derived elements could be re-evaluated, followed by a simple server restart to refresh the runtime.
The suggested mechanism, which is backward compatible with the current system, is to use a custom map type that uses a global name to register the value in an atom. The externally visible map works identically to standard maps, but re-registering under that maps name causes it's value to update for all users of it.
This breaks the idea of pure maps, but since the artifacts look more like vars, this is sort of like altering a root binding in a structured manner (when the definition is changed) and simply avoids undesirable closures over a stale value.
This is available in current releases. Could use some documentation.
Added to RAD dev guide.