Hacker News new | ask | show | jobs
by delluminatus 4161 days ago
I've made applications using both React and Angular. Qualitatively, Angular is way easier to get started, but React "feels nicer" (it's hard to explain, but because you have to handle a lot of the eventing and message passing yourself, you feel like you understand your own app a lot better. Angular is a framework, with inversion of control -- React is just a library).

IMO, you should use Angular, unless you:

1. Need good performance with over 1000 data bindings

2. Are making a literal SPA (i.e. don't really need URL routing or multiple controllers)

3. Plan to build a long-term rock-solid application (like a backbone for an enterprise)

4. Want to understand exactly what is happening in your app.

1 comments

This reads like satire, because who the hell would not want to build something solid or understand what's happening in their app?

Also, the most common complaint about Angular is that it's very hard to understand, very opaque, and lacking in documentation, so your only "pro" for Angular is a pretty unusual one.

I don't think you always need to know exactly what's going on. Angular is a lot like Rails in my mind -- there is "magic", but it makes things easier.

Personally, I never thought Angular was very hard to understand. The main problem is that the documentation is sometimes outdated. If you are familiar with server-side MVC, I think Angular will come naturally to you.

But, if my post sounds biased towards React, it's because I prefer it. I would use Angular for things you want to do in four days and never touch again, but that's about it.

Try inheriting a project with lots of "magic". Or even just revisiting one that you did a long time ago. It sucks.

I believe you that Angular was easy for you to learn. I was just saying I've never heard of anyone else feeling the same way.

Yeah, it totally sucks. That is one of the reasons that, in projects that I expect to be maintaining for a long time, I shy away from frameworks with inversion of control, like Angular or Rails. I prefer the wiring to be exposed, so to speak, because it makes it easier for everyone to know what's going on. It also makes it easier to drop or upgrade your 3rd party dependencies without rewriting everything.
Could you please point me to a framework without IOC. Was planning to use rails. thanks
Plenty of projects just need to be built to test. My apps would never be built and then rev'd if they were built to be "rock solid" in their first iteration. It's important to have frameworks that get apps off the ground quicker.
I don't believe "rock solid" and "fast" are mutually exclusive. There are good libraries in most languages that offer both.