Confused between mutiple frameworks?

hey folks, So I’ve been looking and surfing the web but didn’t find an accurate answer to my question so here’s my question: i just finished learning Javascript functions, loops, objects, events, DOM manipulation, methods, classes, ES6, etc along with 5 basic projects. i just want to know which framework should i have to learn. some of my friends suggested me to learn jquery, ajax, bootstrap, sass. i don’t have an idea what this framework does. is React can do all the things which j, query, ajax, bootstrap, JSON can do.
I will be very grateful if you guys can suggest something better to learn next.

There is not a single tool or framework “to rule them all”, and the JS ecosystem is depth and viable, so you will get the job done pretty much with any one around.

My suggestion is to think about your goal first; why you want to learn a framework?

  • for a potential job?
    Then look at job openings in your area (or in places/office) you like, and see what they require, and learn those :slight_smile:

  • for passion of learning?
    Then you can’t go wrong with any. Each try to solve a problem is a slight different way, and we can learn from each one.


Personal note: there’s often the case of people falling into the so called “tutorials hell”, where you just keep skipping from one tutorial to another (or in this case framework) without ever getting things done in one.

My advice? Get projects done, regardless of the framework :slight_smile:

3 Likes

Learn them all and just do them in the order they’re set out in the freecodecamp curriculum.

jQuery is a JS library that does direct DOM manipulation and React is a JS view library that does DOM manipulation indirectly, though you can think of jQuery and React as “doing the same thing” but they work differently,

Bootstrap is a css library and can save you a lot of time and effort writing css,

Sass adds programming logic to css code… it’s not that important but it’s easy to learn,

If you’re learning web dev you will end up learning everything you’ve listed and more.

2 Likes

I agree with this completely.

@zafarhussain633 Just to give you my two cents, I believe the best first framework is one that is highly opinionated, and ships with the most features out of the box.

It will allow you to focus on actually building things instead of configuring and organizing things.

An opinionated framework also gives you exposure to a lot of topics while not forcing you to have to learn them. As you come across problems you’ll naturally have to dive deeper and slowly understand what makes these frameworks work.

Eventually as you try out other technologies you’ll be able to make connections and see different approaches to similar problems.

For frontend, as long as you choose one of Vue, Angular or React you’re getting something fairly opinionated although they differ in just how opinionated they are.

For backend I’d check out something like NestJS.

For fullstack look into Meteor or AdonisJS.

Cheers!

You should definitely know enough about the things you listed to the point that you do not conflate them with each other or with React.

As for which front-end framework/library to learn, that’s up to you and what jobs you need to be able to handle. I will say, you can’t really go that wrong with having some React knowledge.

I definitely see your point and on some level, I don’t disagree.

But I’m going to say the opposite almost seems better to me for a beginner. I feel like because something like React forces you to do things in a certain way, it teaches you more about some JS programming basics.

Sure it still has abstractions and comes with some features out of the box but it (to me) feels a lot closer to the metal and it’s more barebones (React is called a library after all).

Ultimately for building, you should use whatever you like best, but for teaching JS I think React might have some benefits.

2 Likes

Yeah agree totally. I was interpreting the OP’s message to imply he understood enough basics to move on to something opinionated.

Up for debate of course, but in my opinion React is a framework with a lot of opinions. It’s not just a rendering library anymore like it was back in the day. There are official offerings for local and app-wide state management and routing. There’s an official CLI that scaffolds your entire project and configures everything including your transpilation strategy, testing preferences, routing, and sets up a webpack dev server and build process.

Compared to Angular, yeah React is less opinionated but I still think it belongs in the same broad category.

Maybe I was just misinterpreting your post.

The order of the listed frameworks (might have been arbitrary), and your statement about what you think a framework should do for the user, just made it sound like you put React last in the list of what they should learn first.

1 Like

Ah I see.

No I didn’t mean to put any weight on the ordering of them :slight_smile:

1 Like

I agree with what has been said so far.

To answer more specifically the questions of the user:

jquery, ajax, bootstrap, sass. i don’t have an idea what this framework does.

I wouldn’t call any of those “frameworks” but libraries - to me a framework is heavier and more opinionated.

  • jQuery - a JS library that makes DOM manipulation and AJAX easier - some would say that it’s gradually becoming less relevant.
  • AJAX - how a JS app can communicate with a server
  • bootstrap - some call this a framework, this helps make your site pretty
  • SASS - a CSS preprocessor

is React can do all the things which j, query, ajax, bootstrap, JSON can do.

React is a view library. It has a little bit of overlap with jQuery, at least in terms of DOM manipulation. It also makes your app much easier to organize. You can use AJAX, Bootstrap, and SASS with it. JSON is just a data format that is commonly used in JS apps, especially when using AJAX.

You know, Free Code Camp has a curriculum where you can learn the basics of every one of these… Don’t worry too much about finding the “perfect path” of libraries to learn, just learn.

2 Likes

thanks for all the help. its very helpful