Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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!



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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: