Re:Hamlet – Simple and powerful reactive templating
by rich_harris on Monday June 16, 2014 @02:56PM
(#7900787)
Thanks for trying Ractive (I'm on the core team). If you don't mind, I'd be interested in knowing what issues you came up against with those frameworks that you listed?
Re:Hamlet – Simple and powerful reactive templating
by Yahivin on Monday June 16, 2014 @02:56PM
(#7900789)
The current implementation performs changes immediately. There is no virtual DOM, as soon as a change occurs the model is update and vice versa.
The Observable component invokes the callback to all listeners immediately when its value is changed. I find this makes testing and debugging somewhat easier than async callbacks or nextTick.
Re:Hamlet – Simple and powerful reactive templating
by bradgessler on Monday June 16, 2014 @03:06PM
(#7900849)
How does observable wrap values? I see a few things:
list = Observable []
list.push 'blah'
and isOrange = Observable false
isOrange = true // This obviously doesn't work this way...
Do you poll the value? Or do you check the type of the value and wrap/proxy methods that would normally change the value?
Re:Hamlet – Simple and powerful reactive templating
by Yahivin on Monday June 16, 2014 @03:14PM
(#7900906)
When Observable is declared with a type (especially an array) it sets up some wrapped methods to simplify working with it.
The wrappers also set up automatic dependency resolution so you can do cool things like:
list = Observable []
reversed = Observable ->
list.map reverse
list.push 'blah'
reversed() # => ['halb']
There's no polling, the observable notifies all observers immediately when the value changes.
Re:Hamlet – Simple and powerful reactive templating
by bradgessler on Monday June 16, 2014 @03:57PM
(#7901125)
What about simple types, like the `false` value example above? Is there a `set` and `get` method?
Looks very nice, just this weekend I looked at some frontend frameworks, including Vue, Mithrill, Ractive and React and found some issues with them all. Hamlet would fit my use case very well, I think. One thing I'd like is more technical details on the main page - not how it "looks like" compared to other frameworks, but how it does its thing (compared to other frameworks).