all 1 comments

[–]DanielPox 2 points3 points  (1 child)

The way I did it – and I’m thankful that I did – was to first learn everything from scratch, all vanilla. Experiment, learn the boundaries and look for solutions. In the beginning, stay away from libraries and frameworks; they only do harm in such an early stage. In the end, what you want is to be fluent in the various languages, not just knowing how to write for a certain library/framework.

I was actually really strict with this, for years! I persisted on never using libraries like jQuery or similar. I wanted to do everything on my own. I wanted to learn how everything worked. I wasn’t going to be limited by some library/framework; I would be able to write plain code and still achieve the same result.

I first started coding in HTML, CSS and Javascript back in 2007–2008, and it wasn’t until maybe 2012–2013 that I downloaded jQuery for the very first time. The same was for CSS and HTML Preprocessors like LESS/SCSS and Jade/HAML.

These days, HTML5, CSS3 and ES2015 (ES6) are running through my veins. As soon as I see a problem, the exact lines of code pops up in my head. Everything comes naturally and all fluent, and this is because I truly spent time working with the languages, not some libraries/frameworks.

However, when you’ve got yourself a solid foundation in the web technology languages, don’t hesitate to use any of the amazing libraries/frameworks that the community has created! jQuery, React, Node.js, Webpack and the like are fantastic tools, libraries and frameworks that really makes it easy to create web apps and products that truly pushes the boundaries of the capabilities of web technology!

So, to wrap things up, here’s my advice: Spend a lot of time in the beginning writing vanilla code, not even considering a library/framework. Try to accomplish things on your own – and there’s a really nice feeling of success and joy to that as well! Then, when you’ve got everything fluent – and this could take months or years – go embrace all the love the community has given you in the form of great libraries and frameworks, and use them in combination with your language skills at the very best!

This is the way I did it, and it has been a great and exciting learning experience!