David Dawkins
@DaveDawkins
Followers
429
Following
2K
Statuses
1K
F#, Simulation, Web. Find me at @[email protected]
Joined February 2009
@MangelMaxime @feynmanrocks @jordan_n_marr @FableCompiler YES! I would love to see how far the Fable compiler plugins could take Sutil towards the Svelte experience - by which I mean no "Bind.el" or "disposeOnUnmount" boilerplate that we currently have in Sutil. Svelte does all this for you
2
0
1
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler Final note: for all I know, Svelte could be doing exactly the same thing I'm doing in Sutil 3. I suspect not, or that if it is, it's hidden in the way that the compiler generates the JS (ie, it can tell that it doesn't need to rebuild an input element from scratch each render)
1
0
1
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler So, Sutil 3 has not gone full VDOM. It's taken some of the ideas to make the same focused edits. I should not have used the term VDOM in my description of the changes.
0
0
0
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler What has changed is how those microviews make their update to the DOM. Sutil 2 would just rebuild a new DOM node and replace the current one, or update a DOM attribute. Sutil 3 compares the new microview and uses a diffing strategy to make the update into the DOM
0
0
0
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler ..view once, statically, and still only change the bits that are affected by state .
0
0
0
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler ..knew would never change. This was enabled using stores/observables/signals. This I believe is the motivation for the statement "VDOM is pure overhead". This is what I wanted in F# and this is Sutil. Sutil 3 has not changed at all in this respect. You can render your whole ...
0
0
0
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler So, I think VDOM in a framework typically implies that the WHOLE view is rebuilt on every state change. The new VDOM is compared to the existing one and then the differences are patched into the real DOM. What Svelte let you do was to only ever render the parts of the view you...
0
0
0
@feynmanrocks @jordan_n_marr @MangelMaxime @FableCompiler I started by trying to implement Svelte in F#.A result of that was no dependency om a framework like React. That became the attraction of Sutil. Whether it has a VDOM or not is an implementation detail. From the user's point of view it's the same - no React & bindings for signals
1
0
0
@mali_hukac @MangelMaxime @FableCompiler It should not be painful, mainly an issue of fixing up the open statements. Carry on with V2 and I will work with you on migration when the time comes
0
0
1
@mali_hukac @MangelMaxime @FableCompiler V2 requires that you don't redraw the whole input element. I couldn't see a way to do DOM patching in V2 and so V3 was born...
1
0
0
@mali_hukac @MangelMaxime @FableCompiler Yes it's just a losing focus issue. There are other benefits in V3, in that the generated lines of JS code goes from 9K to around 6k. Performance delta is unknown as yet but could reasonably be expected to improve due to fewer DOM updates
0
0
1
RT @FableCompiler: Fable 4.20.0 has been released. It had new features for Rust and if you use Decimals with JavaScript target you want to…
0
11
0