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.
I also had a lot of problems when I finished the Front-End Certificate (still am having lots of problems ). 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.
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.
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 ).
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:
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.
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.
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.
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.