Completing the Front End Libraries Projects without React

My Javascript is very basic at the moment. I feel that I should complete the Front End Libraries projects using vanilla JS and maybe some bootstrap I would learn a lot and then maybe complete them using React afterwards. Any thoughts?

1 Like

Perfectly fine, IMO.

Do the harder thing.

2 Likes

The harder thing I think is to do the projects with and without React so I will do that.

There you go. Then you will be competent in both frameworks. Although, if I may suggest one more thing: Take a moment to google “bootstrap junior developer jobs [myCity]” and “react junior developer jobs [myCity]” before deciding where to invest your most precious resource, time. If it is the case that many jobs require both, learn both.

It will not hurt to learn the fundamentals of a language without the reliance on a framework.

The choices he laid out were:

  1. Bootstrap + Vanilla JS
  2. React

Note, he did not list (3. raw CSS & vanilla JS). Javascript skills themselves won’t be improved without practice, and whether that practice is via a framework or via programming challenges, it will still be practice.

@jermur, I often tell people who don’t have familiarity with other C-type languages that after the Javascript section (before or after the Front-End certificate) is a good time to “loop out” from the FCC curriculum and come back to it later. The core programming concepts and familiarity with things like Javascript built-in objects are probably what you feel you are missing without being able to place your finger on it. Things like coding challenge sites, or even seasonal things like advent of code will make you learn about data structures and algorithms (the real heart of programming.) React requires you to be able to understand three (maybe four) things well, and is therefore a subset of what you will eventually need:

  1. Arrays and array functions (map, e.g.)
  2. DOM Event Handling
    1.Callback functions are a part of this.
  3. Classes
  4. (Optional, but recommended) arrow functions.

Along the way, if you want to get fancier with it, there are plenty of other things that your learning-search will take you to (mine made me figure out how to combine timed functions with CSS class-setting. Everything was useful). Just make sure to update me with your progress and be sure to @vipatron me in the message so I get notified.

Thanks for the replies. @vipatron That seems like good advice I would like to solidify my JavaScript knowledge before moving on. Starting the first front end project made me realise how little of the basics I really know.

Which coding challenge website do you recommend?

See, here’s where I don’t think I personally have good advice. I was informally trained from 8 years old, and formally trained from 12. What I think FCC needs (the “missing” curriculum) is a bread-and-butter intro to CS class. Variables, arrays, basic data structures, boolean logic, that sort of thing. I’ve looked over EdX’s CS50 curriculum, and it’s great, but not that Javascript-specific (It does some C, some Python, and that can be confusing if you’re trying to improve your “fluency” in Javascript.). I have messed around personally for a day on Codewars, and they let you choose your language. That can be really helpful: lots of small challenges. I’d place the front-end projects between those and something like the harder challenges in Advent of Code, which is what I’m working on currently to revise my data structures & algorithm class, because I want to beef up before I get into the back-end stuff myself.

So, to summarize:

  1. If you’ve never programmed before, and knowing how to iterate over an array and compare all the elements in pairs except the last one is holding you back (or something similar), and terms like queue, stack, tree, or linked list perplex you- CS50
  2. If you feel comfortable with those practices, but often wonder whether there is a prototype function on one of the Javascript built-in objects that you don’t understand, like Array.slice() vs Array.splice(), or how to clone an object at the shallow or deep levels - Codewars (practice is the only way, and challenges that have less scaffolding than FCC is how you get there).
  3. If you feel comfortable with those, but aren’t 100% sure just by looking at a problem whether you should use an Array or a Linked List, a tree or a graph, and want to work on reducing algorithmic complexity (big-O notation) - Advent of Code.