I want to see if anyone is already getting bored about React.js like me. It's 
still fun to try React Native but React.js is old, its 2012 technology(not 
quite sure about 2012, but old enough even 2013). React is not nicely 
decoupled, and not a great framework for animations. It's becoming as useful 
and as mature like jQuery. I think we can go beyond.

Well, I've been programming for 5 years only from learning C in school and 
trying Python on my own(not counting course on Visual Basic since it was only a 
course). I can't build a whole framework like React. However, I can see some 
vision ahead and try them with my code. So they are Respo and Quamoit. Both are 
experimental project and in early stages(Docs not ready, sorry for that). Just 
hope they may be sources of inspirations.

Respo

repo https://github.com/mvc-works/respo/
example app https://github.com/Memkits/wanderlist/

Respo is like React but a lot simplified and decoupled. I implemented a simpler 
DOM diff algorithm and bound events. By now I can build very simple apps with 
it. I think the shiny parts are:

* components are designed to fit with caching so that server side rendering 
would be faster
* DOM diff/patching are decoupled, so possible to diff on server and patch at 
clients
* element DSL in ClojureScript syntax, not JSX style
* component states are stored global, so not losing during hot swapping

You may find more on Hashnode and Youtube:
https://hashnode.com/@jiyinyiyong/stories
https://www.youtube.com/user/jiyinyiyong/videos

Quamolit

repo(alse example) https://github.com/Quamolit/quamolit
components source code 
https://github.com/Quamolit/quamolit/tree/master/cirru-src/quamolit/component

Quamolit is an experiment on canvas and it relies on Hit Regions APIs to work, 
so not even usable for build real apps. The nice thing is, in React it's 
difficult to make nice animations, in declarative canvas libraries there's no 
abstractions to compose components like React, Respo is maybe a way to combine 
them. You can browse the source code and take a look on my Youtube.

For each component, there's functions of `init-state update-state init-instant 
on-tick on-update on-unmount render`, you may see what's going on by the names. 
So besides **state**, Quamoit introduced **instant** as the animations states, 
and it will be updated by **on-tick**(as requestAnimationFrame calls) 
**on-update**(as global store and states changes) **on-unmount**(as the 
component start leaving).

Currently there are only videos and tweets(@jiyinyiyong) on Quamolit. I will 
add post when it's more stable.

Projects are in early stage and when I go back to work a weeks later I will 
probably spend much time on them. I think my experience is not enough for real 
world frameworks, I hope someone may pick my ideas and use them in their own 
projects. I used to write in Chinese at segmentfault.com/blog/jiyinyiyong and I 
will later write on Hashnode in English to see if someone is interested.

Hope you like my ideas. Thanks.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to