JavaScript is becoming an overkill for me

After I finished the Front-End Certificate, I had the wish to get deeper into JavaScript.I started to lean some Design-Paterns like the Sub/Pub and the Revealing Module Pattern. Since the Front-End Certifcation I had no struggle anymore in programming and It makes fun to programm own ideas.

Since last week I want to lern React and Node.js. There is much to learn, but this is not the problem. The real problem for me ist, when I hava to use what.
There are to many thinks to use:

For Front-End I can use JavaScript or React. After I learn so much about Design Paterns and Good Practis like don’t to use onClick in a tag, is React confuseing me…
For example: I just need 3 lines JavaScript for the first React-Project:
document.querySelector(‘textarea’).addEventListener(‘keyup’, function() {
document.querySelector(‘div’).innerHTML = marked(document.querySelector(‘textarea’).value);
});

For the Back-End I can use Node.js in addition with Express. When I programming in the Back-End I don’t know how much JavaScript I need there. Is it only Routing and Database or in addition click events, beause I can chose which html will be rendered. And Routing … yeah … I can do it also with React …

I’m sorry for my english, but I hope you can follow my problems…

You do have a lot of choices in web development, and a part of maturing as a developer will be knowing how to decide between two or more technologies that have overlapping features. The fact is, though, that in the beginning of your career, you won’t have the opportunity to choose what you’re using. Whether you route in Express, React, Rails, or whatever else, the choice will be your boss’s and that’s that. So, on’t worry too much about the ‘why’ right now, that will come with experience.

4 Likes

I also had a lot of problems when I finished the Front-End Certificate (still am having lots of problems :confounded:). The difficulty ramps a lot, really quickly. Learning React is just learning React, it’s learning npm, it’s learning Webpack, it’s learning Redux/Flux/Whatever, it’s learning how to include an outside dependency in your project and what a package.json file does, it’s learning JSX. There are 20 things to learn and it’s really hard to figure out which one to do first.

All I can recommend is stop trying to think too hard about the path and just trudge along. Your progress will slow way down at this point (at least it has for me), but it’s a whole new world and you have to relearn how to walk before you can relearn how to run.

2 Likes

I agree with @matty22. Once you hit React and Redux and decide to develop on your computer locally it really seems less about html, JS and CSS and more about environment setup and learning packages and how to get them to all play nicely together. I’m trying to do that now using a couple of Pluralsight courses and I must have only written 10 lines of html and CSS and used perhaps one JS built-in function in about 2 weeks!

It does seem a bit overwhelming sometimes once you get to this stage. I am learning a lot of things but a lot of them are not actually html, css or JS. I’m spending a week making 30 files to output something no more complicated than the basic FCC projects. I know I will have totally forgotten how to do even some of the basic algorithm challenges, I did them a year ago now and sometimes wonder what use they were as I haven’t used most of that knowledge.

I think you just have to grind along as I suppose this is what real world software development is actually like and all those algorithms are part of a wider picture you need to become proficient in that real world.

1 Like

I’m in the same boat. Started to learn React from tutorials on official React page and on youtube. Quickly found out, that adding dependencies in the HTML head is not the way things are done in the real world. Last three weeks I’ve been going through React tutorials and there is a lot to learn. And things are changing so fast that a year old tutorial may be already pretty “outdated”.

Of course using npm, webpack and million dependencies for fCC’s React Frontend projects is an overkill, but as my goal is to become employable in the industry, I’m taking my time to learn the tools required (I’m even thinking about adding tests to my projects :scream:).

1 Like

Yeah, I understand your feeling of “framework fatigue,” but I think you may have some misconceptions–but this might be a language problem (either you misunderstanding English sources, or me misunderstanding your intended meaning).

First, I might suggest watching this video that lays out the different parts of web development and some why/when for certain frameworks: https://www.youtube.com/watch?v=sBzRwzY7G-k.

But to answer some of your specific issues mentioned:

  1. You should think of jQuery, React, Node, and Express as JavaScript. They are libraries and frameworks that use the same JavaScript as what you learned (maybe not exactly with Node and Express). People just built a big “machine” with JS and they’re giving you the controls to operate it via methods/functions. The important part is, while the words look different in these frameworks, the behavior of the language is the same–think of it kind of like someone else’s JS program with different variable names.

  2. There are tons of frameworks, so you have to choose when and why to use one. For example, React is best for building complex user interfaces and web apps. Just like you said, if you just want to add an event listener, then you don’t need to build a React project. A portfolio page, for example, doesn’t need to be a React app. But a “SaaS” page or something like Facebook does need a faster bigger framework that handles data flow from the user to the program and changes the interface as a result. *On a sidenote, React also represents a changing approach to how people traditionally separate HTML, CSS, and JS. If you wanted to build Facebook using separate HTML, CSS, and then one giant JS file to queryselect everything and modify it, it would crazy complex. React’s philosophy is breaking a web app into small components and creating them with JS methods (for example the “HTML” in the render in React, the JSX, is shorthand for .createElement(“div”). React is also not just a way of writing JS, it has its own program included that’s checking everything that changes and updating the interface.

  3. Learning new frameworks, it’s important to carefully read the documentation. For example, my understanding that React’s “onClick” event listener is not the same as HTML “onclick” which IS bad practice.

  4. For the back-end stuff, as above, it’s important to understand Node and Express are JS and have its behavior… The functions, the arrays, the objects–what goes in, what comes out, etc.

3 Likes