Hacker News new | ask | show | jobs
by saurabhnanda 4352 days ago
As a startup who's built all of its UI on AngularJS, does introducing React/Om into the stack make sense? We have a B2B product where the users deal with a lot of CRUD forms and dashboards.

React looks interesting, but only if it gives significant advantages (time-to-market, maintainability, etc) vis-a-vis AngularJS in managing a large code-base.

Any first hand reviews?

2 comments

YES - I've built two enterprise app frontends (CRUD forms and dashboards) in react since react came out. Now that I know what I'm doing and have my tools built out, I am contracting and hitting ridiculously tight schedules that I would never have been able to hit without the level of abstraction react enables. It helps that a react codebase is massively smaller than a comparable OOP-style codebase (I've used Backbone, Knockoutjs, and ExtJS in comparable apps)
Are there any helpers/libraries you use when building CRUD forms? I haven't seen one for React yet - or TBH a well functioning one in any language I use - and it's a pain point I would like to solve.
Fab thank you! I look forward to exploring these... any system that makes CRUD less painful is a system I want :)
We used Angular at Stampsy and it was a pain to learn and debug. React is awesome because it encourages very modular components, has very small API surface (you can go far with knowing 5 API methods, compare this to Angular insanity) and great out-of-the-box performance (which is possible to boost 5x if you use performance hooks like `shouldComponentUpdate`). React gets you very close to browser limits in terms of perf, while staying very maintainable. Moreover, it doesn't impose any kind of structure on your projects, and you can begin using it one component at a time (even inside Angular).

(I'm not affiliated, just a very happy user.)

Why do you say AngularJS was hard to debug? Also any insights around modularity - AngularJS directives vs ReactJS components?

I hear you about the API surface. Currentlu AngularJS has too many weird/new concepts.

Why I prefer React over Angular:

1. Two-way bindings complicate things because there is no single source of truth. (See http://vimeo.com/92687646 at 30:00)

2. Template/directive separation is superficial, in fact these are single concern and should be together.

3. Separation between `props` and `state`, as well as documenting `props` via `propTypes` encourages very natural modularity.