

Zorium v1.0.0 (╯°□°)╯︵ ┻━┻ - Zolmeister0
https://zolmeister.com/2015/05/zorium.html

======
iamdanfox
Nicely comprehensive blog post, Zorium looks like it is the result of a lot of
hard work! Since this looks like a serious library (rather than a personal dev
exercise), I'm curious about why you decided not to go with React:

1\. The React source is definitely intimidating - what extensions did you feel
it needed?

2\. Animations are a tough problem, but I was under the impression that the
communication isn't usually the problem, it's meshing a declarative
representation with a mid-transition DOM. How is the Zorium approach better
than the React one?

3\. Flux, JSX and mixins are all completely optional and not compulsory to
write a frontend in React; why did these motivate you to write a new library
from scratch?

I hope these don't come across too critical, I have a lot of respect for
anyone who can even finish a project like this, let alone document it. I've
heard lots of good things about React, so I'm curious to hear other
perspectives!

~~~
Zolmeister0
This is something we considered as the project evolved. Initially Zorium was
very different from React, but over time took more ideas from React (some of
their work is quite excellent).

1\. The biggest difference is definitely the RxJS observable support, which
solves a lot of model problems in an elegant way.

2\. I wish I had some examples published (we have a few internally), but
having RxJS observables actually do a phenomenal job of dealing with the
animation problem (think .delay() state and bi-directional communication). I
hope to be able to update the docs soon with more details.

3\. Aside from those you mentioned, performance was another big problem. React
is slow (not as bad as Angular), but more importantly because the code was so
complex I was unsure if we could modify it to meet our needs. At Clay.io we
push the boundaries of what Mobile-web can do, and performance is absolutely
critical. I realize this answer is still sub-par, and I agree, Zorium was
mostly build off of Mithril and just happened to look like React in the end.

Edit: It's also worth mentioning that API design (in z.router) and application
structure are what took the most time. Because Zorium is built on virtual-dom
there isn't really much custom code.

