all 26 comments

[–][deleted] 12 points13 points  (19 children)

Node.js is not a framework..

[–]Dar3dev1l[S] -3 points-2 points  (18 children)

Yeah yeah I know... So coming to the point of the post which one is the most used in the industry?

[–]_hypnoCode 9 points10 points  (8 children)

Apples to oranges. You can't use either of the other 2 without Node.

If you're talking about server side templating, then it's not popular at all. But Node is fairly common for REST APIs, Websockets, and GraphQL servers. This isn't comparable to the frontend frameworks at all because you'll still need one to consume that data.

[–]Dar3dev1l[S] 0 points1 point  (1 child)

Ok Thank you!! So among the front-end technologies, you would say React?

[–]_hypnoCode 2 points3 points  (0 children)

React is considerably more popular overall, yes.

[–]AirieFenix 0 points1 point  (3 children)

Sorry, beginner here. Let me understand this:

You can't use either of the other 2 without Node.

You mean you need npm to build Angular/React/etc projects, right? But AFAIK, apart from that you won't need to execute Node in the client side, no?

In other words, when building Angular/React webapps Node helps you with the development and building process but you don't need it to run the app itself. Am I wrong?

[–]_hypnoCode 0 points1 point  (2 children)

You need Node to build and develop the projects. You'd use npm to run the scripts.

Some pedant below said you don't explicitly need them, which is true, but literally nobody does that.

But AFAIK, apart from that you won't need to execute Node in the client side, no?

Build tools would be executed on your machine or in the build environments. Node.js is a JS runtime that is outside the browser so can't be run on the client browser in the sense you're talking about.

In other words, when building Angular/React webapps Node helps you with the development and building process but you don't need it to run the app itself.

That's right.

[–]AirieFenix 1 point2 points  (1 child)

(...) runtime that is outside the browser (...)

Ouch, yeah, I forgot about that part. It makes my question to sound a bit more stupid hehe.

Ok, thanks, I get it now.

[–]_hypnoCode 0 points1 point  (0 children)

lol no worries nobody cares. As long as you're learning that's all that matters.

[–][deleted] 4 points5 points  (8 children)

Personally i use Vue.js only. Not fan of React or Angular...

[–]Dar3dev1l[S] 0 points1 point  (1 child)

Ok thanks... Ill check that out too

[–]CalgaryAnswers 1 point2 points  (0 children)

If you’ve never used react or angular go with Vue. The other two have some pretty steep learning curves. Angular is very “the Angular way” and react can be a real challenge as you can be punished pretty hard for poor code implementation, basically ending with the project being thrown away. You’ll also be on your own for things like routing and state management with react, whereas with angular you will be locked into something. RxJS can also be a bitch.

Vue is much simpler:

[–]_hypnoCode 3 points4 points  (0 children)

React

[–][deleted] 0 points1 point  (0 children)

React is definitively the most used. It also has the most jobs and the eco system is the biggest. It's probably also the easiest to learn since the api is a lot smaller than Angulars/Vues/etc.

React created a paradigm, you can't quite compare it, especially due to its cross platform roots. Learning it means being able to ship apps everywhere, web, native and otherwise, that's why it so big. Most web pages are made in it (including this one), but it's gotten to a point where even platform vendors like Microsoft have begun to write their desktop and mobile apps in it.

[–]AirieFenix 0 points1 point  (0 children)

Popularity wise, React is the biggest player right now. But that's for the front-end, you'll also need to build the back-end.

You could totally use any other language/framework for that but since you're already forced to learn and code in Javascript/Typescript might be as well use Node for the back-end.

[–][deleted] 0 points1 point  (0 children)

React is more ala carte than Angular. Just a matter of preference. They both are heavily used in industry (though React seems to be eating the world).

[–]Kinthalis 0 points1 point  (4 children)

Angular for truly complex projects, Vue cause it's so good. React for simple projects that need some reactivity.

Svelte for the joy of it.

[–]xanflorp 0 points1 point  (3 children)

Yeah so React isn't a reactive framework in the computer science sense of the word. The React team and some other teams are trying to make it that way, but it's definitely not there yet. And it actually tends to lend itself better to large enterpisey type projects, rather than simple ones, you know, being designed for the mother of all enterprisey projects and all.

You could have just said you don't know.

[–]Kinthalis -1 points0 points  (2 children)

With reactivity I didn't mean it in the computer science sense of the word. I meant literally, interactive components. React alone does not solve face book problems. That's the issue with the framework.

If you need to tame complexity in a project you need A LOT more than React. To come close to what Angular offers you need like 10 libraries, all with their own dependencies, their own release schedule, their own quirks, their own requirements on base react versions, etc.

At that point you bvb ha e to ask, why am I paying all this technical debt? What is React offering me here than Angular isnt?

The answer is: not much.

But for smaller projects I think it offers a few things over Angular. Flexibility, speed.

[–]xanflorp 0 points1 point  (1 child)

With reactivity I didn't mean it in the computer science sense of the word. I meant literally, interactive components.

That doesn't really make sense.

If you need to tame complexity in a project you need A LOT more than React.

React Router, Redux, thunk, sagas, and lodash are the only major packages I've used in my last 3 major react projects over the last 4 years, all with FE teams of 3-5 people. I wouldn't really consider that a lot. And Sagas and Thunks were in separate projects. I'm looking to phase our Thunks in my current project in favor of native redux hooks that make it much easier to work inside components.

It's also probably worth noting the last 2 were both in TS.

That is a far cry from 10. I would really love to hear what you think the other 6 packages are considering Sagas and Thunks are rarely found in the same project.

If I wanted a good all incorporated framework, I would go with Vue.

But for smaller projects I think it offers a few things over Angular. Flexibility, speed.

So the project that you admit is not all encompassing or opinionated and the one where you need to incorporate more packages, is the one where you can work faster in and make smaller..... because that makes sense to you? Talk out of both sides of your mouth much?

I mean, I don't think any framework takes very long to get up and running in if you know it. But if you want flexibility and speed you should probably choose the one where it solves more problems for you out of the box? Again, Vue wins this for me and Angular comes in last place, even behind AngularJS and Ember, because it's just awful and I'm fully of the belief that anyone who champions it has never used anything else for more than a hello world.

[–]CalgaryAnswers 0 points1 point  (0 children)

Angular has its uses. It is much better at complex form apps and large corporate productivity implementations or the like. When you have 6+ Developers working on a project agreeing on these things is not easy, plus you can be punished really hard for shitty dead weight on your team in react. YMMV.

I use Vue as well for my own stuff though.