When to start with Frameworks & Preprocessors?

I’m up to the Wikipedia Viewer challenge and took a sneaky peek at the code which currently uses Angular/SCSS. This in turn has lead to me reading up on Frameworks and Preprocessors for the first time.

Up to now I’ve been happy enough with my code being inelegant and designs pretty ugly. However I can see how greater familiarity with these tools could help with these issues. Further I might be making less work for myself at a later date if I want to add some pretty & slick challenges to a portfolio.

Is it considered better practice to learn your chops in pure HTML/CSS/JS before using them however?

I tend to agree with the pros and cons you pointed out and, ultimately, it depends on how familiar you are with HTML, CSS and JavaScript. If you are comfortable with HTML and CSS already then SCSS shouldn’t be a problem; other frameworks and libraries could be an issue, though, because they have varying level of abstraction and could confuse you for a good while before you realise that it’s because you don’t have a solid understanding of vanilla JavaScript.

If you haven’t built a few other projects with just HTML, CSS and vanilla JavaScript already, I recommend doing the Wikiviewer project without worrying about other frameworks and libraries—for example, trying to manage API calls in React without a good understanding of how to do it in vanilla JavaScript is likely going to be a nightmare (you will likely end up using another library to help with the async calls, and the added level of abstraction, I think, is a really bad idea while you are trying to learn will do you more harm than good in the long run).

I hope by pure JavaScript you are referrig to using vanilla JavaScript (no jQuery)!

Good luck! :slight_smile:

EDIT: if you can afford the luxury to clone your own projects, I personally find that to be a great way to learn new frameworks and libaries—because you know what is supposed to happen, you can the focus on learning the differences that these frameworks and libraries introduce.


Thanks, that’s really helpful. I can see how the extra abstraction could send me the wrong way easily. Will stick to vanilla JS for now, hastily deletes jQuery from Codepen. :wink:

Of course cloning and creating a fork that I can tinker with to try out frameworks is a great idea too!

Getting a pretty good grasp on the fundamentals is good, since then you have a good sense of what problems the abstractions are there to solve.

That said, if you are interested, dig in anyway! Interest is a valid path for learning too :slight_smile: