I've been playing around with RiotJs (actually committed some fixes/features to the repo). I think what is attractive about both Riot and React is that everything is "defined" in JavaScript, there isn't really a separation of markup and behavior. Each little module can act an individual component. React has gone a step further and has shown that the DOM doesn't really matter...your React code could create native apps.
Does jsblocks allow users to develop little objects that encapsulate whats's needed for that component to work? The examples seem to have separate html/js/css.
Cool question. Please take a look at OneScript - https://github.com/astoilkov/OneScript and share your opinion. I believe this is the next step in developing applications. Bringing HTML, CSS and JavaScript in one place where components are modular and small.
I like this syntax. How do you pass values to a component and how do you nest components with values and lets say, loop over an array and create a (sub)component? Also, when you embed a component, is there a way to interact with it?
Great questions. I currently filling the documentation so you could watch the repo or star it and keep an eye on it. The idea is that components will be like objects and elements so you could easily access them. Take a look at this example:
I cannot give a fair comparison because I haven't done much outside of the the demo stuff with React. However, I will say that React seems to have much more tooling and a bigger community. Riot may be easier to get into and understand because it uses plain html in its Tag objects.
Does jsblocks allow users to develop little objects that encapsulate whats's needed for that component to work? The examples seem to have separate html/js/css.