Rob Eisenberg on Aurelia and how it stacks up against Angular 2 and React
Sandeep Panda

React has nothing to do with HTML. As we look at packages like react-native, react-art, react-canvas, and react-three, it’s become clear that the beauty and essence of React has nothing to do with browsers or the DOM. JSX is optional and this is only a syntactic sugar for a pure JavaScript function (namely React.createElement). Comparing a library to a full blown framework is like comparing apples to pears. If you want to compare Aurelia try compare it with another full blown framework.

E.g. try to compare it with Cerebral ( It has a router (even more powerful than the others because it has nothing to do with any view or template). It has a Chrome extension providing very nice debugger with time travel (is there anything close to that for Aurelia?) It has very powerful, DECLARATIVE workflow based on action chains and function-tree. Nobody else have such powerful feature. It works like a declarative reasoning tree. See

Cerebral can use different UI libs, not only React but also Snabbdom (recently adopted by Vue 2.0) or extremely fast - Inferno. I doubt if Aurelia can work faster than Inferno.

And last but not least, Aurelia (and Angular) are modular, but do not scale. With enough big code, keeping a mutable local stage inside modelviews leads to mess and big complexity. I used Durandal before, and the synchronization between many decoupled modelviews was a real pain in ass. (To be honest, the same problem has React if it is used on wrong way; I mean if you keep a local state in every component Just don’t do it. Use Cerebral. :)