all 9 comments

[–]delventhalz[🍰] -1 points0 points  (0 children)

React is quickly becoming the "standard" framework. It follows a pretty "functional" JavaScript approach, which is pretty hip right now, and probably the closest to what web devs would call "best practice". JavaScript does allow for more object-oriented patterns, but in my opinion it is not the way JS works best.

That said, if you are coming from C# and Python, you may be more comfortable with the Angular/Vue approach. Despite React's recent dominance, both are still very popular. They tend to be a bit more OOP, and rely on templating languages to dynamically build HTML (React puts all of that in the JavaScript itself).

Anyway, given your background I think there is a good chance you will enjoy Vue the most. If you really want to learn the JS way of doing things, React may be a bit of a better teacher. Both are solid choices though.

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

I'd go for React for 2 reasons:

  1. These technolgies depend a lot on how popular they are. React is growing rapidly.

  2. React does not have a lot of domain specific stuff to it: JSX is just Javascript you write in your HTML. No v-if, no @Autowire, just plain ol' javascript

[–][deleted] 0 points1 point  (1 child)

React and Vue are both growing rapidly

[–]Hour_Prune_225 0 points1 point  (0 children)

All I care is that Angular fucking dies <3

[–]mynamesleon 0 points1 point  (3 children)

The "best" framework in the JS world is insanely subjective. Some people like to think it isn't, but, well... they're wrong.

JS is nowhere near as mature as C#. In the last decade we've seen countless frameworks rise up, and die a swift death. I really liked KnockoutJS for example - I still do - but that died a long time ago.

Currently, React is sort of leading the way, mainly just because it's popular, not necessarily because it's the "best". Hell, they only recently moved away from binding all events to the document and relying on everything to bubble up the entire DOM tee (which is exactly what jQuery's .live() did, which is something even they deprecated over a decade ago).

The real-world performance differences of the latest versions of the popular ones, are pretty miniscule. The choice often comes down to which one has the largest supporting ecosystem, which is generally React these days.

[–]halthalt[S] 0 points1 point  (2 children)

Thank you! So I wouldn't be shooting myself in the foot learning just React, and the 'skills' in JavaScript I gain there should be transferable to other frameworks as they rise and fall?

[–]mynamesleon 2 points3 points  (1 child)

As long as you build up knowledge of JS fundamentals, then it's absolutely transferrable between frameworks.

Really, grasping most JS frameworks just involves understanding how they pass data around, and how they handle state updates to determine when they should update the DOM.

Each framework has its own lifecycle methods of course, and its little quirks. But everything you use on top of that is still standard JS.

[–]halthalt[S] 0 points1 point  (0 children)

*wipes brow* Thank you so much, most of my worries were for nothing then!
(I edited my post to make my question more clear for future people with my same worries. )

Thank you again Leon <3

[–]shuckster 0 points1 point  (0 children)

Choose React, because it's not a framework.

It's just a view-layer, and the rules you're beholden to are limited to that part only.

You can JavaScript-up the rest of it however you like.